server - 我无法从网络中的其他设备访问本地主机的原因是什么?
问题描述
我用一台电脑制作了一个本地主机,我正在尝试通过其他设备访问它。问题是服务器只能在主机中访问。我应该怎么做才能通过网络中的其他设备进行连接。我使用 Xampp 作为本地主机和主机的 IP 地址,以通过浏览器进行连接。
解决方案
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 文件,确保服务器指向 #Listen 192.168.1.193:80
- 在应用程序根 config.php(数据库连接)中,将 localhost 替换为服务器的 IP 地址
注意:如果安装了防火墙,请确保将 http 端口 80 和 8080 添加到例外并允许侦听。转到控制面板>Windows防火墙>允许程序通过Windows防火墙进行通信>添加另一个程序名称:再http Port: 80
添加一个为http - 8080
如果 IIS(Microsoft .Net Application Internet Information Server)与任何 Microsoft .Net 应用程序一起安装在服务器上,那么它已经占用了 80 端口。在这种情况下,更改#Listen 192.168.1.193:80
为#Listen 192.168.1.193:8080
如果设备在不同的网络中: 您可以使用以下外部服务轻松访问您的计算机
推荐阅读
- c# - 第二次调用 Setup 时出现 UnexpectedArgumentMatcherException
- c# - 如何在 ASP.NET Core 中发送带有 HTTP 基本授权的 HTTP POST?
- excel - Is there any ways to replace nested if in excel-vba?
- excel - 自动向多个收件人发送电子邮件
- python - 如何在flask sqlalchemy中基于多个模型过滤一个模型?
- c# - 如何使用 selenium C# 单击按钮 recaptcha
- amazon-web-services - 通过 aws-cdk 进行 VPC 对等互连
- python - 如何修复“list.remove[x]:x不在列表中
- firebase - 带有 Firebase 托管初始化脚本的 create-react-app
- c - C语言中双指针的使用