如何将 Web 服务器从本地主机路由到 LAN?

如何将 Web 服务器从本地主机路由到 LAN?

我在我的桌面(ip = 192.168.8.2,Windows 10)上的 Microsoft Visual Studio 中开发 Web 应用程序。在开发过程中,Visual Studio 本质上成为一个绑定到 localhost:44396 的 Web 服务器。从那里,我可以通过启动浏览器访问 https://localhost:44396/ 来浏览和测试该网站(请注意,它是带有由 Visual Studio 创建的自签名证书的 https)。

幕后发生的事情是,当我在 Visual Studio 中单击“开始调试”时,它进入“服务器模式”并自动配置 IIEXPRESS 成为服务器,然后为我启动一个浏览器窗口,直接自动显示网站。

问题是:我想从我的 iPad 和 Android 手机浏览网站(它们连接到同一个 LAN,我 100% 肯定我可以访问绑定到 192.168.8.2 的 Web 服务器,因为我已经这样做了)。

我怎样才能让我的手机和平板电脑像在我的台式电脑“内部”一样浏览并访问开发网站?

答案1

在 Visual Studio 中,您可以在项目属性中更改此设置:

项目属性

在下方部分,输入所需的“应用程序 URL”,而不是http://localhost:whatever,例如http://192.168.8.2:1234。遗憾的是,“启用 SSL” 处的 URL 不会更新,直到您保存并重新打开项目属性。

这些设置保存在./Properties/launchSettings.json相对于项目目录的中。


另一方面,如果您不使用 IIS Express,“应用程序 URL”看起来会略有不同。默认情况下,它是https://localhost:5001;http://localhost:5000。更改它很简单。您还可以添加URL 而不是改变它,它是一个以分号分隔的列表。

答案2

首先,确保你可以从开发计算机打开该网站,方法是:https://192.168.8.2:44396

我不完全确定您的意思是您已经让该部分正常工作,所以我添加了它,只是为了安全起见。

然后,您应该可以在 iPad 上执行相同操作。不要输入域名,而是输入https://192.168.8.2:44396

如果这不起作用,请确保防火墙中的端口 44396 已打开。鉴于这不是本机端口,您的 Windows 防火墙可能会阻止除本地 PC(又称 localhost)之外的任何设备访问它,因此您必须为整个网络启用端口 44396。您可以安全地将其设置为公共端口,因为除非您在路由器中制定端口转发规则,否则无法从互联网访问它。

另外,请确保端口 443 已打开,因为这是 https 所使用的。

如果您计划向公众开放此功能,请记住并非所有路由器都支持 NAT 发夹技术,因此您不能只在浏览器中输入 WAN IP 并期望它能正常工作。您必须从网络外部进行测试才能确定。

相关内容