繁体   English   中英

无法在本地计算机上浏览在家中托管的网站

[英]Can't browse a website hosted at home on local machine

我有一个 ASP.NET 网站托管在 IIS 上。 在我的家庭网络之外,我可以看到该网站,但在网络内部,它给了我一个 404 错误。 我可以以本地主机的身份浏览该站点。 这似乎是一个 DNS 问题,只是不知道如何解决它。

这几乎可以肯定是 NAT 问题。 我假设您的 web 服务器位于 NAT 路由器后面,并且您已将某些端口(可能是 80)从路由器的外部接口转发到服务器机器上的端口 80。 我还假设您尝试使用解析为外部 IP 的名称(可能是动态 DNS 名称)访问您的网站,或者您尝试使用该外部 ZA12A3079E14CED42E69BA52B8A90 直接访问它。 这可能不会开箱即用,因为大多数 NAT 路由器只会使端口映射可用于进入路由器外部接口的数据包。

如果上述情况成立,则有四种可能的解决方案:

  1. 查看路由器的配置并尝试找到类似于“NAT 环回”、“Ext-int 环回”等的内容。 这将指示路由器处理从内部接口进来并发往外部 IP 的数据包,就像它处理从外部接口进来的数据包一样,有效地正确环回流量。 这将触发端口转发,您的站点将正常工作。 并非所有路由器都有此选项,但如果您有此选项,它将是最强大的解决方案。 如果您没有,您也可以尝试将其固件更改为支持您的路由器(Tomato、OpenWRT、DD-WRT 等)的免费固件之一。我已经成功地将Tomato用于此类场景。

  2. 当您在路由器后面时使用内部 IP,在外面时使用外部 IP。

  3. 将您正在使用的 DNS 名称添加到您自己的主机文件中,使其对应于内部 IP。 当从您自己的主机访问名称时,这将自动实现 (3)。 您必须对路由器后面的每个主机重复此操作。

  4. 在路由器后面运行您自己的 DNS 服务器,使其对您的 DNS 记录声明权限,并将其解析为内部 IP,同时将其他 ZED5F2BDECBDFF4BD349ZD0 查询转发到您的实际名称服务器。

您可能已将域指向的外部可见 IP 地址实际上是路由器或电缆调制解调器的 IP 地址。 外部连接将路由到打开 IIS 的机器,但是当您从网络内部连接时,您将获得路由器自己的 web 服务器及其管理界面。 这不太可能有与您请求的 URL 匹配的页面,因此您将获得 404。

You should be able to fix it by adding an entry to the hosts files of your home machines to map your domain to the internal IP of the machine with IIS on, overriding the external IP in the DNS entry.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM