我被要求在 IIS 中建立一个可以被外部访问的网站。
我们有一台 Web 服务器,上面有一个当前可供外部使用的网站。它位于 IIS 中的“外部网站”站点下。因此,我在“外部网站”下创建了一个不同的应用程序,将其指向不同的文件夹,并将其连接到使用不同的应用程序池(新)。
它在内部 URL 上运行,但是当我在外部尝试它(在我的 iphone 上)时,在外部运行的那个是可见的,但我创建的新那个却不可见。
不幸的是,以我的开发背景/知识,我不知道这是否可以修复(即网站或 AppPool 上的 IIS 中的设置),或者它是否与 dns/防火墙设置或允许外部世界访问的设置有关。
如果有人有任何建议,我们将不胜感激。新网站与旧网站类似(如 ASP.NET MVC),但内容不同,等等。我收到的错误是 404 错误。
答案1
您的新应用程序无法在外部运行的原因可能是因为它不在“外部网站”站点内。
我假设您的网络管理员设置了端口转发,这样对您的外部 IP 地址的请求就会转发到为外部网站设置的自定义端口。这意味着只有外部网站才能被外部网络访问。
您没有提到您正在使用哪个版本的 Windows,所以我假设它是 Windows 2008 (R2)。
您必须确保您的新应用程序位于“外部网站”站点内。查看外部网站的绑定。如果右键单击该站点并选择“编辑绑定”,则应该会看到它正在监听哪个端口。
您应该能够通过指定端口从内部网络查看该内容(例如http://网络服务器:8080/)。如果您正确配置了新的应用程序,那么您应该也能够通过同一端口从内部查看它。
如果您发送有关 IIS 结构的更多信息,那么我可以提供更具体的信息。
答案2
感谢您的建议 - 它位于外部网站内,我没有进行任何 DNS 更改。这似乎是时间延迟的问题。在我测试几个小时后,有人对其进行了测试,并且成功了。从那时起它就一直有效。
是的,当我在内部测试它时,它工作正常,但外部访问似乎需要更长的时间?没有人修改任何东西,所以我猜这是某种 DNS 延迟之类的?!