我正在测试一个 ASP.NET 应用程序,默认情况下我的项目在 Debug模式下的 URL 当然是这样的:
http://localhost:61660/
现在,来自 Linux 世界并将我从过去的网络类(class)中学到的知识放在一起,我知道除了使用 localhost 之外,你还可以使用 127.0.0.1 或你的 LAN IPv4 地址,这可能是什么例如 10.75.88.252,您可以使用 ipconfig 命令获得。
但是,一旦您进入 Microsoft 网络,Windows 似乎采用了这些规则并在其上添加了一个层以进一步复杂化已经足够复杂的计算机网络网络 WORKGROUPS 和“计算机名称”,其行为似乎类似于某种 Intranet DNS。
所以我的主要问题是,在调试 ASP.NET 应用程序时,这个 URL 为什么能在 Visual Studio 中完美运行:
http://localhost:61660/
但是下面这两个:
http://127.0.0.1:61660/
http://10.75.88.252:61660/
它们根本不起作用,即使 localhost 与 127.0.0.1 相同...
那么有谁知道这可能是什么原因呢?在 Windows Server 上构建 Web 应用程序时,是否需要配置额外的东西,例如防火墙?
最佳答案
我想也许这对你有帮助:
如果您使用 IIS 托管您的应用程序,您可以使用本地计算机 IP 地址绑定(bind)您的站点以在 LAN 连接中运行它。
要通过 IIS 添加网站,您可以通过以下链接查看
http://www.iis.net/learn/manage/creating-websites/scenario-build-a-static-website-on-iis
http://blog.pluralsight.com/windows-server-2008-iis7
Binding IIS Express to an IP Address
基本上,您可以手动编辑 applicationhost.config 文件以绑定(bind)到 localhost 以外的其他内容。阅读上面的链接,但例如参见下面:
<binding protocol="http" bindingInformation="*:8081:localhost" />
<binding protocol="http" bindingInformation="*:8083:192.168.2.102" />
关于c# - ASP.NET 应用程序可以作为本地主机访问,但不能通过 127.0.0.1 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29523181/