IIS 中的网站无法在外部访问

IIS 中的网站无法在外部访问

我正在尝试使用服务器 IP 访问我的 IIS 测试站点。在内部我没有遇到任何问题,但在外部尝试一段时间后就超时了。

我运行了 Shields Up,它显示没有开放端口。这是一台运行 Windows Server 2003 的 1&1 VPS 服务器,所以我假设中间没有防火墙阻止。我读到过,我可能必须在“管理工具”>“本地管理设置”中进行更改以允许访问端口 80,但我不知道从哪里开始查找。

编辑:

我使用它的外部 IP 地址访问服务器,这个地址也是我用来登录 RDP 的。1&1 还为所有 VPS 提供了一个可解析到服务器的子域,这对于 RDP 来说也是没问题的,但在 IIS 端口 80 上会失败。使用服务器本身的 IP 和子域可以成功返回站点。

答案1

您是否检查过 Windows 防火墙是否已打开?如果已打开,则应禁用它或(最好)允许传入流量到端口 80。

另外,您是否在某些 NAT 后面?您可以很容易地检查它:在服务器上运行 IPCONFIG 并查看其 IP 地址;如果它与外部 IP 地址不同,则中间存在一些 NAT,您需要您的提供商对其进行正确配置。

最后一次机会,即使你的服务器上没有防火墙,而且它实际上位于其公共 IP 地址上,实际上可以中间可能存在防火墙,因此你也应该与你的提供商核实。

答案2

第一个基本测试是使用 telnet.exe 连接端口:

        telnet <ip address> 80

如果您收到“连接被拒绝”错误,则表示端口未打开。

WS 2003 也有防火墙:输入防火墙控制程序您应该会看到本地控制面板。

答案3

我也有 1&1 VPS,我所做的就是运行安全配置向导

http://www.microsoft.com/windowsserver2003/technologies/security/configwiz/default.mspx

完成所有这些并按照我想要的方式设置好一切后,我就能完全控制服务器上的一切了。

我确信有更复杂的方法可以做到这一点,但这个工具的易用性给我留下了深刻的印象。

答案4

除了其他答案之外,请检查您的网络接口绑定以确保 IIS 已绑定到您的外部接口。

  1. 您可以通过转到网站属性,单击“网站”选项卡,然后确保 IP 地址文本是:(全部未分配)
  2. 另外,确保端口正在监听80(或者443对于 SSL)。
  3. 点击先进的按钮。确保主机标头值等于您想要访问的域。例如,如果您希望您的网站可以在 http://blog.waynehartman.com,你必须确保 blog.waynehartman.com位于主机头中。

相关内容