在我的网络上的其他计算机上查看我的IIS托管站点

时间:2010-02-02 12:39:36

标签: networking iis-7.5 web-hosting firewall

在家里我有一个包含2台机器的简单网络设置。

在一台机器上,我有一个用IIS7托管的网站。我在localhost/index.htm文件中添加了一个条目,而不是标准HOSTS地址,该条目将本地IP(127.0.0.1)指向此域 - www.mysite.dev

我可以www.mysite.dev访问该网站,没有任何问题。

我想要做的是能够从网络上的其他计算机上查看此网站。

最初,我认为这可以通过这样的URL来完成 MACHINE-NAME/www.mysite.dev,但连接总是超时。但我可以毫无问题地ping MACHINE-NAME

出于测试目的,我已在两台机器上禁用了Windows防火墙,但没有任何乐趣。

与典型的Web开发人员一样,我的硬件/网络技能非常差。

谁能看到我出错的地方?

12 个答案:

答案 0 :(得分:147)

正如其他人所说,您的防火墙需要配置为接听来电 TCP端口80

以win 7+(简单的魔法方式)

  1. 以高级安全性转到 Windows防火墙
  2. 入站规则 - >行动 - >新规则
  3. 选择预定义单选按钮,然后选择最后一项 - 万维网服务(HTTP)
  4. 点击下一步并按原样保留接下来的步骤(允许 连接

    • 因为出站流量(从服务器到外部)允许默认情况下。例如,表示网络服务器发送回外部用户的http响应和请求

    • 入站流量(源自外部世界的服务器)被阻止默认,例如源自其浏览器的用户网络请求无法访问网络默认情况下,您必须打开它。

    您还可以在this page

    详细了解入站和出站规则

答案 1 :(得分:30)

如果您在IIS中的特定端口上托管网站,例如 4321 ,那么您也必须通过Windows防火墙允许此端口。这是我跟随 imanabidi's answer 所采取的步骤,让它对我有用:

  1. Windows防火墙>高级设置
  2. 入站规则>新规则
  3. 选择端口>下一步
  4. 特定本地端口>添加您要允许的端口
  5. 允许所有连接
  6. 输入名称和描述,以便稍后在
  7. 中记住
  8. 完成

答案 2 :(得分:8)

首先,尝试连接到服务器的LAN IP。如果IIS只设置了一个网站,则可能会弹出您的网站。

如果您想通过名称访问它,您必须在每个要查看该站点的客户端PC的HOSTS文件中添加一个条目(显然不是127.0.0.1,而是添加到您的本地IP地址)服务器)。

此外,您的防火墙需要配置为接受端口80上的来电。

这通常是设置DNS服务更有意义的一点,您可以集中注册名称如“mysite.dev”,而无需涉及主机文件。但这是一个不同的故事,属于superuser.com或serverfault.com。

答案 3 :(得分:6)

打开防火墙设置。然后搜索类似的内容 - 允许程序或功能允许通过防火墙。如果未选中列表万维网服务(HTTP),请检查它并重新启动系统。

我们的机器都设置为接受入站请求。

答案 4 :(得分:3)

非常晚回答但我会强调一些观点,因为我在几年前必须处理它,在网络上设置我的IIS网站

  1. 两台机器都应连接到同一网络(相同的无线网络都可以)
  2. 通过IP 168.192.x.xhttp://his-pc-name访问您的远程计算机(不要忘记http部分)
  3. 这将为远程计算机上的默认IIS页面提供服务(与通过localhost提供的页面相同)。如果您想要服务于另一个网站,[必须首先进行默认] 1
  4. 通过选中应提供默认站点的localhost,确保您的IIS在远程计算机上正常运行。还要确保您的防火墙配置为允许通过端口80进行连接,或者您可以暂时禁用防火墙以进行测试。

答案 5 :(得分:2)

 Control Panel>System and Security>Windows Firewall>Allowed Programs-> then check all " World Wide Web Services(Http) tab". 

它为我工作

答案 6 :(得分:1)

安装防病毒软件后,我遇到了这个问题,我注意到我的防火墙自动设置为打开,现在我只是设置了防火墙,它解决了我的问题。希望它会帮助某人:)

答案 7 :(得分:1)

可能会迟到,但对于将来可能会遇到此问题的任何其他人,您想要对服务器进行的任何连接(在这种情况下是承载Web应用程序的计算机,无论是否为iis或xampp)您需要允许通过将在防火墙中使用的特定端口的连接或流量

1. Go to Windows Firewall -> Advanced settings
2. Click Inbound Rules -> Then New Rule
3. Select Port -> Next
4. Specific local ports -> Add the Port you want to allow
5. Allow All Connections
6. Enter a name and a description for to help you remember later on

你完成了

答案 8 :(得分:1)

除了修改防火墙之外,别忘了也添加端口绑定!

打开$(SolutionDir)\.vs\config\applicationHost.config并找到绑定定义,应该是这样

<sites>
    <site name="Samples.Html5.Web" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Git\Samples.Html5.Web" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:63000:localhost" />
        </bindings>
    </site>
    ...
</sites>

只需添加额外的行以反映您的计算机IP和指定的端口

<bindings>
    <binding protocol="http" bindingInformation="*:63000:localhost" />
    <binding protocol="http" bindingInformation="*:63000:10.0.0.201" />
</bindings>

来源:https://blog.falafel.com/expose-iis-express-site-local-network/

答案 9 :(得分:0)

127.0.0.1始终指向localhost。在您的家庭网络上,您应该有一个由您的互联网路由器分配的IP地址(dsl / cablemodem / whatever)。您需要将您的网站绑定到此地址。然后,您应该能够使用计算机名称访问该网站,但我建议实际编辑相关客户端计算机的hosts文件,以指定该计算机上的特定名称。 hosts文件可以在c:\ windows \ system32 \ drivers \ etc \ hosts(使用记事本)中找到,条目如下:

192.168.1.1     mycomputername

答案 10 :(得分:0)

2021 年的完整解决方案。

与IP的绑定不起作用。星号解决了问题。

<bindings>
   <binding protocol="http" bindingInformation="*:63000:localhost" />
   <binding protocol="http" bindingInformation="*:63000:*" />
</bindings>

https://www.theancientscroll.com/tech/4-steps-aspnet-web-apps-lan/753/

答案 11 :(得分:-1)

您必须执行以下步骤。

转到IIS - &gt;
Sites-&GT;
点击您的网站 - &gt;
在行动中点击编辑权限 - &gt;
安全 - &gt;
点击ADD - &gt;
高级 - &gt;
立即查找 - &gt;
添加其中的所有用户 - &gt;
并授予其他用户所有权限 - &gt;
点击确定。

如果您正确地执行了上述操作,则可以使用您的域访问您的网站 建议 - 不要在您的站点上添加主机名,否则会在某个时候创建​​问题。所以请使用您的机器IP地址托管您的网站。