我设置了路由器,将端口 80 转发到托管我网站的 PC。因此,我可以访问此 URL(不用点击它,这只是一个示例): http://my.url.com/
当我在网络服务器上运行时单击此链接时,它起作用: http://localhost:8080/tfs/web/
我还将端口 8080 转发到同一个 Web 服务器
但当我尝试访问此 URL 时,出现错误“无法显示页面:”
http://my.url.com:8080/tfs/web/
我以转发端口 80 的相同方式转发端口 8080。我还关闭了 Windows 防火墙,以防它阻止端口 8080。
有什么理论可以解释为什么端口 80 可以工作而 8080 却不工作?
下面显示了我的路由器配置,我在端口 80 和 8080 上转发流量。
我认为我的防火墙已被完全禁用:
答案1
您能连接到同一网段中的 8080 端口吗?例如,如果您有交换机,您可以通过该端口访问远程计算机吗?
答案2
您是否设置了 IIS 来响应端口 8080 或者您是否使用路由器将端口 8080 映射到端口 80?
另外,您是否尝试使用网络上的另一台计算机来测试端口 80 是否实际工作,然后使用 IIS 服务器的 IP 地址尝试端口 8080。
对于防火墙问题,您可以手动添加要排除的端口。在 Windows 7 中,单击左侧的“入站规则”时,有一个添加“新规则”(在右侧)的操作。
答案3
您是否尝试过访问http://my.url.com:8080/tfs/web/来自网络外部的其他物理计算机?
如果您尝试从同一公共 IP 地址下的 NATed 网络内部访问公共 IP 地址(作为某种公共环回),则它将无法工作。尝试输入http://my.url.com:8080/tfs/web/进入此网站:http://downforeveryoneorjustme.com/如果可以,那么问题就出在本地-公共 NAT 上。如果不行,那么就是防火墙/路由器/服务器出了问题。
答案4
如果您在 Windows 上使用 WAMP(或者更具体地说是 Apache;我不知道您的具体设置),您需要进入 Apache 的 httpd.conf 文件并将“Listen 80”替换为“Listen 8080”。