我无法从网络中的其他设备访问本地主机的原因是啥?

Posted

技术标签:

【中文标题】我无法从网络中的其他设备访问本地主机的原因是啥?【英文标题】:What can be the reason I cannot access local host from other devices in the network?我无法从网络中的其他设备访问本地主机的原因是什么? 【发布时间】:2021-09-15 15:02:11 【问题描述】:

我已经用一台电脑创建了一个本地主机,我正在尝试通过其他设备访问它。问题是服务器只能在主机中访问。我应该怎么做才能通过网络中的其他设备进行连接。我使用Xampp作为本地主机和主机的IP地址通过浏览器进行连接。

【问题讨论】:

【参考方案1】:

localhost 本身意味着主机位于本地计算机上,因此无法直接从外部计算机访问。当您在浏览器上键入 localhost 时,您的服务器会识别它并根据给定的地址将其重定向到本地端口或 IP 地址。 localhost 是一个特殊的主机名,几乎总是解析为 127.0.0.1。如果您要求其他人连接到 http://localhost,他们将改为连接到他们的计算机或您的计算机。

因此,为了访问这台计算机,您需要找到该计算机的本地网络 IP。然后其他人可以通过该 IP 访问您的网站。

如果设备在同一网络中:

您可以通过转到命令提示符或按 Windows + R 然后输入 ipconfig 或 ipconfig /all 来查找本地网络的 IP。它会给出一些信息,你的本地 IP 应该看起来像 192.168.1.x。

您还需要确保您配置的任何防火墙都允许端口 80 上的流量连接到 XAMP 服务器

当您希望从 LAN 服务器(而不是 Web)访问 php 应用程序时,这些是要遵循的步骤

    获取服务器的内部IP或静态IP(例如:192.168.1.193) 在记事本中打开 XAMPP>apache>conf>httpd.conf 文件 搜索听 80 上面的行读起来像-#Listen 0.0.0.0:80 / 12.34.56.78:80 更改 IP 地址并替换为静态 IP 保存 httpd.conf 文件,确保服务器指向 #听 192.168.1.193:80 在应用程序根config.php(db连接)替换localhost 服务器的IP地址

注意:如果安装了防火墙,请确保将 http 端口 80 和 8080 添加到例外并允许侦听。 转到控制面板>Windows防火墙>允许程序通过Windows防火墙进行通信>添加另一个程序名称:http Port: 80再添加一个为http - 8080

如果 IIS(Microsoft .Net 应用程序 Internet 信息服务器)与任何 Microsoft .Net 应用程序一起安装在服务器上,那么它已经占用了 80 端口。在这种情况下,将 #Listen 192.168.1.193:80 更改为 #Listen 192.168.1.193:8080

如果设备在不同的网络中: 您可以使用以下外部服务轻松访问您的计算机

http://localtunnel.me/ https://ngrok.com/ http://localhost.run/ http://serveo.net

【讨论】:

感谢您的全面而有帮助的回答。我的问题是通过允许防火墙上的端口 80 解决。

以上是关于我无法从网络中的其他设备访问本地主机的原因是啥?的主要内容,如果未能解决你的问题,请参考以下文章

从本地主机连接不到虚拟机里面的服务

win732位想共享64位上的爱普生630k打印机设本地端口拒绝访问是啥原因

nginx 无法从其他本地设备访问网站

从 USB 连接的 Android 移动设备访问 PC 的本地主机

无法从我网络上的其他设备访问 localhost

从同一网络中的其他设备访问 Vue.js 应用程序(也使用代理)