我无法从网络中的其他设备访问本地主机的原因是啥?
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打印机设本地端口拒绝访问是啥原因