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

标签 server xampp localhost

我用一台电脑创建了一个本地主机,我正在尝试通过其他设备访问它。问题是服务器只能在主机中访问。我应该怎么做才能通过网络中的其他设备进行连接。我使用 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 应用程序时,请遵循以下步骤

  1. 获取服务器的内部 IP 或静态 IP(例如:192.168.1.193)
  2. 在记事本中打开 XAMPP>apache>conf>httpd.conf 文件
  3. 搜索 Listen 80
  4. 上面的行内容如下 - #Listen 0.0.0.0:80/12.34.56.78:80
  5. 更改 IP 地址并将其替换为静态 IP
  6. 保存 httpd.conf 文件,确保指向服务器 #听192.168.1.193:80
  7. 在应用程序根目录config.php(数据库连接)中替换localhost 与服务器的IP地址

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

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

如果设备位于不同网络中: 您可以使用以下外部服务以简单的方式访问您的计算机

关于server - 我无法从网络中的其他设备访问本地主机的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68245828/

相关文章:

mysql - 从字符串到整数的转换错误

tcp - 网络 - 绑定(bind)到本地主机

apache - 如何配置 Apache localhost 服务器以从其他计算机访问它

angularjs - 如何解决请求的资源上不存在 'Access-Control-Allow-Origin' header

html - Express.js 不发送 css 文件

http - 如何停止使用 'npm install http-server"下载的 http 服务器?

php - Codeigniter - session 登录错误

apache - 无法安装网站网络 - Wordpress 和 XAMPP

browser - 解析浏览器地址栏中的 mDNS .local URL

node.js - 使用 axios 从服务器发送文件到服务器