我正在使用带有 IIS Express 的 VS2012,并且似乎无法使用我的 IP 地址浏览我的网站。有没有办法做到这一点?它曾经与早期版本的 VS 一起工作得很好。
例如,此地址可以正常工作:
http://localhost:64651/
但是,这个地址不起作用。
http://192.168.252.165:64651/
我确定 IP 地址,因为我刚刚使用 ipconfig 获得了它。
转到您的IISExpress>Config文件夹,找到applicationhost.config. 更改<bindings>如下:
IISExpress>Config
applicationhost.config
<bindings>
<bindings> <binding protocol="http" bindingInformation="*:1407:YOUR_IP_ADDRESS" /> </bindings>
在执行此操作之前,您必须使用netsh以下命令注册此 IP 地址:
netsh
Windows 7 中的端口转发
如果您运行的是 Windows 7,则几乎所有传入连接都被锁定,因此您需要专门允许到您的应用程序的传入连接。首先,启动管理命令提示符。其次,运行这些命令,将 192.168.1.11:1234 替换为您使用的任何 IP 和端口:
> netsh http add urlacl url=http://192.168.1.11:1234/ user=everyone
这只是说明http.sys可以与此 url 交谈。
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
这会在 Windows 防火墙中添加一条规则,允许本地子网上的计算机到端口 58938 的传入连接。有关此链接的更多信息。
端口转发 Mac OS X
步骤 1:查看当前防火墙规则
sudo ipfw show
步骤 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
这是临时更改,重启后会恢复。如果你想让它永久化,你可以为它创建一个 lauch 守护进程。
可选删除规则
如果要删除防火墙规则,请运行:
sudo ipfw flush
在 Mac OS X 上使用 PFCTL(又名 PF)进行端口转发
的设置pfctl类似于ipfw。Github 用户 kujon 创建了一个很好的指南来展示如何使用pfctl.
pfctl
ipfw
注意:确保仅通过查找项目名称来更改项目的绑定。您甚至可以保留 localhost 绑定并添加一个新绑定,这样您就可以使用给定的 IP 地址和旧的 localhost 绑定访问同一个网页。