从另一台计算机访问本地主机(xampp)

时间:2018-07-26 21:01:28

标签: apache xampp virtualhost

首先,我已经搜索了堆栈溢出并遵循了先前答案中的建议,例如How do I connect to this localhost from another computer on the same network?

我已经为客户端创建了一个PHP / MySQL应用程序。希望将其本地托管在该服务器上。

有问题的机器正在运行用另一种语言(我不确定是哪种语言)编写的应用程序,并在端口8080上运行Tomcat。

他们也没有单独的暂存/生产环境,所以这不是理想的选择。

他们的其他Web应用程序需要保持运行,同时我还要移植新的应用程序。我将XAAMP安装到他们的系统上,并使用Apache HTTP在本地运行该应用程序。但是,他们希望网络内部和外部的其他计算机也能够连接到Windows服务器。他们已经为在Tomcat上运行的先前创建的应用程序执行了此操作。

端口80和8080已被使用,因此防火墙已更新,以允许我的应用程序在端口8086上运行。

我使用ipconfig查找本地IPv,然后尝试更新http.conf和vhost文件,并正在侦听端口8086上的IP。但是,转到IP /文件夹名不能在另一台计算机上解析网络。作为测试,我也只是键入Windows机器的IP,但它永远无法解析。

我通常不使用Windows;到现在为止,我所有的生产应用程序都在某种unix上运行。他们的其他应用程序是实时的,我不想打扰它。他们通过访问{servername}:8080来访问它。我尝试使用server:8086来查看是否可以通过这种方式访问​​我的应用,但不能。

我确认localhost /文件夹名可以解析。

这是我已采取的确切步骤。我尝试了两种不同的解决方案。

解决方案1,以How do I connect to this localhost from another computer on the same network?作为指导:

  1. 确保防火墙允许端口8086访问

  2. 我修改了C:\ xampp \ apache \ conf \ extra \ httpd-vhosts.conf文件,以包括该应用程序的虚拟主机:

        DocumentRoot“ C:/ xampp / htdocs / {文件夹名称}”     ServerName dispatchserver

  3. 转到位于\ Windows \ system32 \ drivers \ etc \ hosts的Windows主机文件,并添加以下内容: 192.xxx.x.xx调度服务器

  4. 从网络外部的计算机尝试转到以下URL(未解析):

由于它们不起作用,我尝试使用此较早的堆栈溢出答案:Accessing localhost (xampp) from another computer over LAN network - how to?

  1. 确保防火墙允许端口8086访问

  2. XAMPP控制面板>配置>服务和端口设置> Apache>将主端口更改为8086。

  3. XAMPP控制面板> Apache> Config> http.conf

  4. 搜索“听80”并替换为“听8086”

  5. 在此之上,添加了Listen 192.xxx.x.xx:8086(我使用了IPv4,但出于安全原因不想包含完整地址)。我首先在此行中添加了井号(#192.xxx.x.xx:8086),然后在没有hastag的情况下不起作用(192.xxx.x.xx:8086)。

  6. 搜索并将其设置为目录语句:

        允许全部覆盖     要求所有授予

  7. 重新启动Apache

我可以采取哪些步骤使通过XAMPP安装的新Web应用程序可被其他计算机访问?

2 个答案:

答案 0 :(得分:1)

在这种情况下,如果要通过网络启用此功能,则有些不同。您需要设置路由器以端口转发到您的服务器(应用程序),以便其他网络可以从Internet到达它。默认情况下,路由器会阻止传入请求,因此使用您提到的端口的端口转发规则将起作用。您还应该将服务器计算机(带有应用程序的服务器)放在一个静态IP地址上,以使事情变得更容易。然后,要让用户看到您的应用,您需要向他们提供您的互联网连接的IP地址(通过ipchicken.com等网站进行查看)和网址中的端口号。

答案 1 :(得分:0)

通常,您只需要在两台计算机(入站和出站)上打开Windows防火墙中应用程序正在使用的端口的端口,然后通过IP地址和端口号连接到另一台计算机(如果它们在同一网络上)