Iis Can';t浏览本地计算机上托管在家中的网站

Iis Can';t浏览本地计算机上托管在家中的网站,iis,hosting,dns,Iis,Hosting,Dns,我有一个ASP.NET网站托管在家里的IIS上。在我的家庭网络之外,我可以看到这个网站,但在网络内部,它给了我一个404错误。我可以作为本地主机浏览该站点。这似乎是一个DNS问题,只是不知道如何解决它 您可能将域指向的外部可见IP地址实际上是路由器或电缆调制解调器的IP地址。外部连接将路由到启用IIS的计算机,但当您从网络内部连接时,您将获得路由器自己的web服务器及其管理界面。这不太可能有与您请求的URL匹配的页面,因此您将得到404 您应该能够通过在家用计算机的主机文件中添加一个条目来修复此

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

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


您应该能够通过在家用计算机的主机文件中添加一个条目来修复此问题,以将域映射到启用IIS的计算机的内部IP,覆盖DNS条目中的外部IP。

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

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

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

  • 在路由器后面使用内部IP,在路由器外面使用外部IP

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

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


  • 你是在使用某种NAT设备吗?我家里有一个标准的DSL调制解调器,可以连接到互联网。