![IIS 中的网站无法在外部访问](https://linux22.com/image/491097/IIS%20%E4%B8%AD%E7%9A%84%E7%BD%91%E7%AB%99%E6%97%A0%E6%B3%95%E5%9C%A8%E5%A4%96%E9%83%A8%E8%AE%BF%E9%97%AE.png)
我正在尝试使用服务器 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 已绑定到您的外部接口。
- 您可以通过转到网站属性,单击“网站”选项卡,然后确保 IP 地址文本是:(全部未分配)。
- 另外,确保端口正在监听80(或者443对于 SSL)。
- 点击先进的按钮。确保主机标头值等于您想要访问的域。例如,如果您希望您的网站可以在 http://blog.waynehartman.com,你必须确保 blog.waynehartman.com位于主机头中。