2013-02-14 146 views
19

我使用VS2012和IIS Express,似乎无法使用我的IP地址浏览我的网站。有没有办法做到这一点?它曾经用VS的早期版本正常工作。使用IP地址浏览网站而不是本地主机

例如,该地址能正常工作:

http://localhost:64651/ 

但是,这个地址是行不通的。

http://192.168.252.165:64651/ 

我确信IP地址,因为我刚刚使用ipconfig。

+0

确实127.0.0.1:64651有效吗? – LDJ 2013-02-14 18:27:32

+0

不,'http://127.0.0.1:64651 /'不起作用。说网页找不到。当我将URL更改为'http:// localhost:64651 /'时,该网站显示正常。 – ADH 2013-02-14 18:31:00

+0

您是否配置了端口转发?如果没有看到http://portforward.com/ – 2014-02-28 01:34:42

回答

32

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

<bindings> 
     <binding protocol="http" bindingInformation="*:1407:YOUR_IP_ADDRESS" /> 
</bindings> 

你这样做之前,你必须注册使用如下命令netsh此IP地址:

在Windows 7

如果你端口转发运行Windows 7时,几乎所有传入连接都被锁定,因此您需要特别允许传入连接到您的应用程序。首先,启动一个管理命令提示符。其次,运行这些命令,与任何IP和端口使用的是更换192.168.1.11:1234:

> netsh http add urlacl url=http://192.168.1.11:1234/ user=everyone 

这只是告诉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防火墙规则,允许在在this link当地subnet.More信息传入连接到端口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 deamon。

可选移除规则

如果你想删除你的防火墙规则运行:

sudo ipfw flush 

端口转发在Mac OS X上使用pfctl的(又名PF)

pfctl的设置类似于ipfw。 Github用户kujon创建了一个nice guide以显示如何使用pfctl将端口从端口80转发到另一个端口。

注意:一定要更改项目的绑定,只需找到它的名称。您甚至可以保持本地主机绑定并添加一个新的,这样您可以使用给定的IP地址和旧的本地主机绑定访问相同的网页。

+0

谢谢你的回应。我在Windows 7 Enterprise上。如何使用netsh注册IP地址? – ADH 2013-02-14 18:36:37

+0

好的,我可以在我的机器上查看localhost和我的ip地址。但是,也许我应该首先提到这一点,我的iPod Touch连接到同一个无线网络,但无法看到网页。总的来说,我正在尝试为移动设备构建网站,并且在测试更改之间部署到远程服务器的时间过长。 – ADH 2013-02-14 19:00:54

+0

我标记答案已解决。我还验证了防火墙入站规则已添加。尝试了网络上的另一台机器,但仍然无法看到网页,即使我可以从那里ping到本地机器。 – ADH 2013-02-14 19:08:53

相关问题