使用IP地址而不是localhost浏览网站

ADH*_*ADH 21 iis-express visual-studio-2012

我使用VS2012与IIS Express,似乎无法使用我的IP地址浏览我的网站.有办法做到这一点吗?它曾经与早期版本的VS一起正常工作.

例如,这个地址工作正常:

http://localhost:64651/
Run Code Online (Sandbox Code Playgroud)

但是,这个地址不起作用.

http://192.168.252.165:64651/
Run Code Online (Sandbox Code Playgroud)

我确定IP地址,因为我刚刚使用ipconfig.

Bhu*_*ake 32

转到您的IISExpress>Config文件夹,找到applicationhost.config.改变<bindings>如下:

<bindings>
      <binding protocol="http" bindingInformation="*:1407:YOUR_IP_ADDRESS" />
</bindings>
Run Code Online (Sandbox Code Playgroud)

在执行此操作之前,您必须使用netsh以下命令注册此IP地址:

Windows 7中的端口转发

如果您运行的是Windows 7,几乎所有传入连接都被锁定,因此您需要专门允许传入连接到您的应用程序.首先,启动管理命令提示符.其次,运行这些命令,将192.168.1.11:1234替换为您使用的任何IP和端口:

> netsh http add urlacl url=http://192.168.1.11:1234/ user=everyone
Run Code Online (Sandbox Code Playgroud)

这只是告诉http.sys你可以和这个网址对话.

重要信息:必须根据系统语言指定user = everyone参数.因此,如果您的Windows语言是西班牙语,则参数必须为user = todos.

> netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=1234 profile=private remoteip=localsubnet action=allow
Run Code Online (Sandbox Code Playgroud)

这会在Windows防火墙中添加一条规则,允许本地子网上计算机的端口58938的传入连接.此链接中的更多信息.

端口转发Mac OS X.

第1步:查看当前防火墙规则

sudo ipfw show
Run Code Online (Sandbox Code Playgroud)

第2步:添加端口转发规则(80到8080)

Tomcat运行的默认端口是8080,所以这里我们显示了从端口80到8080(Tomcat的默认端口)执行端口传送的命令.显然,这也适用于其他端口,您只需相应地调整命令即可.

sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in
Run Code Online (Sandbox Code Playgroud)

这是一个临时更改,一旦重新启动它将恢复.如果你想让它永久化,你可以为它创造一个lauch deamon.

可选删除规则

如果要删除防火墙规则,请执行以下操作:

sudo ipfw flush
Run Code Online (Sandbox Code Playgroud)

端口转发在Mac OS X上使用PFCTL(aka PF)

设置pfctl类似于ipfw.Github用户kujon创建了一个很好的指南,展示了如何设置从端口80到另一个端口的端口转发pfctl.

注意:请务必仅通过查找其名称来更改项目的绑定.您甚至可以保留localhost绑定并添加新绑定,这样您就可以使用给定的IP地址和旧的localhost绑定访问同一网页.

  • 这个文件夹在哪里?(IISExpress&gt; Config)我在VS2010上运行它,找不到此文件。更新:在这里:C:\ Program Files(x86)\ IIS Express \ config \ templates \ PersonalWebServer (2认同)