如何从同一网络上的另一台计算机连接到此本地主机?

81 浏览
0 Comments

如何从同一网络上的另一台计算机连接到此本地主机?

我正在进行一个项目,并且我想在家中的两台笔记本电脑上进行测试,其中一台笔记本电脑连接到另一台笔记本电脑上的本地主机。我正在使用XAMPP。我该如何操作?

0
0 Comments

要从同一网络上的另一台计算机连接到此本地主机,可以按照以下步骤进行操作:

1. 确保两台计算机都在同一个工作组中。

2. 在要连接的计算机上打开命令提示符(cmd.exe),输入ipconfig命令,并注意IPv4 Address行下的IP地址。

3. 然后,在要连接的计算机上使用以下格式的URL:http://{目标计算机的IP地址}:{端口号}

例如,如果站点运行在端口80上,URL应为:http://192.168.0.1:80

4. 这样就完成了连接。

需要注意的是,如果应用程序使用的不是默认的80端口,而是其他端口,那么URL的格式应为:http://{目标计算机的IP地址}:端口号

这是我寻找的简单解决方案。请考虑将ggderas提到的建议“:端口号”纳入你的回答中。对我来说这是必需的,因为我使用Apache Superset连接时使用了8088端口。

0
0 Comments

如何从同一网络上的另一台计算机连接到本地主机?

有时候我们需要从同一网络上的另一台计算机访问正在运行的本地主机,但是可能会遇到一些问题。下面提供了一种解决方法。

一种解决这个问题的方法是使用像localhost.run或ngrok这样的服务。这些服务可以让你通过互联网访问正在运行的本地主机。下面是如何使用localhost.run的步骤:

1. 打开http://localhost.run/网站。

2. 复制并粘贴你的本地主机的IP地址和端口号到网站上的输入框中。

3. 点击"Connect"按钮。

4. 网站会为你生成一个临时的URL,你可以通过这个URL访问你的本地主机。

5. 在同一网络上的另一台计算机上打开浏览器,输入生成的URL,就可以访问正在运行的本地主机了。

这种方法非常简单,方便快捷,适用于快速测试。

希望这个解决方法对你有帮助!

0
0 Comments

如何从同一网络中的另一台计算机连接到本地主机?

这是一个完全可能的。我们将以Apache为例进行讨论。假设您是一个Symfony2的忠实粉丝,并且希望从4台不同的计算机(主机计算机以及连接到主机计算机的Mac、Windows和Linux发行版,无线或非无线连接)上访问您的Symfony网站http://symfony.local/

一般情况下,您需要进行以下设置:

1. 首先,在Apache的httpd-vhosts.conf文件中设置虚拟主机。在XAMP中,您可以在这里找到该文件:C:\xampp\apache\conf\extra\httpd-vhosts.conf。在MAMP中,您可以在这里找到该文件:Applications/MAMP/conf/apache/extra/httpd-vhosts.conf。您需要提供虚拟主机的名称以及您的网站的根/主文件夹。在文件的末尾添加以下行。将DocumentRoot更改为您的主文件夹所在的位置。在此示例中,我将/Applications/MAMP/htdocs/Symfony/作为我的网站根目录。

DocumentRoot "/Applications/MAMP/htdocs/Symfony/"

ServerName symfony.local

2. 修改计算机的hosts文件以便客户端(您的浏览器)能够理解symfony.local的含义。每当您在浏览器中输入URL时,您的计算机都会尝试理解它的含义。对于计算机来说,symfony.local没有任何意义。因此,它会尝试在计算机的hosts文件中查找,看是否能够将IP地址与您在地址栏中输入的内容匹配。如果找不到匹配项,它将向DNS服务器询问。在hosts文件中追加以下内容。

- 在MAC上,该文件位于/private/etc/hosts

- 在LINUX上,该文件位于/etc/hosts

- 在WINDOWS上,该文件位于\Windows\system32\private\etc\hosts

- 在WINDOWS 7上,该文件位于\Windows\system32\drivers\etc\hosts

- 在WINDOWS 10上,该文件位于\Windows\system32\drivers\etc\hosts

##
# Host Database
# localhost is used to configure the loopback interface
##
#...
127.0.0.1           symfony.local

从现在开始,每当您在这台计算机上输入symfony.local时,您的计算机将使用环回接口连接到symfony.local。它会理解您想在本地主机(127.0.0.1)上工作。

3. 现在,我们终于来到了您的主要问题:

如何从另一台计算机访问我的网站?

这很简单!我们只需要告诉其他计算机它们如何找到symfony.local!我们该如何做到这一点?

- 首先,我们需要获取托管网站的计算机的IP地址(我们从一开始就一直在使用的计算机)。在终端上,对于MAC和LINUX,请键入ifconfig | grep inet;对于WINDOWS,请键入ipconfig。假设此计算机的IP地址为192.168.1.5。

- 然后,在您尝试访问网站的计算机上编辑hosts文件。在MAC上,该文件位于/private/etc/hosts;在LINUX上,位于/etc/hosts;在WINDOWS上,位于\Windows\system32\private\etc\hosts(如果您使用的是WINDOWS 7,则位于\Windows\system32\drivers\etc\hosts)。现在的技巧是使用我们要访问/通信的计算机的IP地址。

##
# Host Database
# localhost is used to configure the loopback interface
##
#...
192.168.1.5         symfony.local

4. 最后,在浏览器中享受结果吧!您现在可以在浏览器中输入http://symfony.local,在不同的计算机上美观地查看您的网站!请注意,如果您是OSX用户,可以使用Virtual Box在Internet Explorer上测试您的网站(如果您不想使用Windows计算机)。在Crafting Your Windows / IE Test Environment on OSX中对此进行了很好的解释。

您还可以从移动设备访问本地主机

您可能想知道如何从移动设备访问您的本地主机网站。在某些情况下,您将无法修改设备上(iPhone、iPad等)的hosts文件(排除越狱)。

那么,解决方案就是在托管网站的计算机上安装一个代理服务器,并从您的iPhone连接到该代理服务器。以下帖子对此进行了很好的解释,设置也不会太麻烦:

- 在Mac上,我建议使用SquidMan作为代理。它是一个100%免费的解决方案。有些人也可以使用Charles作为代理服务器,但价格是50美元。

- 在Linux上,您可以像Mac上那样使用Squid作为代理服务器。

- 在Windows上,您可以使用Fiddler来实现。解决方案在Monitoring iPhone traffic with Fiddler中有详细描述。

编辑于2020年12月29日:嘿,我不想手动修改我的hosts文件

这是一个有趣的问题,并且与OP的问题有关,让我来帮助您。

您将需要在网络上进行更改,以便每台计算机都知道您的网站托管在哪里。大多数日常路由器都无法实现这一点,因此您需要在网络上运行自己的DNS服务器。

假设您有一个路由器(IP地址为192.168.1.1)。这个路由器有一个DHCP服务器,为网络上的100台计算机分配IP地址。

现在,假设您在同一网络上有一台计算机,IP地址为192.168.1.5,该计算机托管了您的网站。我们将称这台计算机为Pompei。

与上述步骤相同,Pompei上的192.168.1.5运行一个HTTP服务器,用于提供您的网站symfony.local。

为了让每台计算机都知道symfony.local托管在Pompei上,我们现在需要在网络上设置一个自定义DNS服务器,它知道symfony.local托管在何处。网络上的设备将能够在内部解析Pompei提供的域名。

以下是3个简单的步骤:

第1步:DNS服务器

在您的网络上设置一个DNS服务器。为了方便起见,我们将其设置在Pompei上,并使用类似dnsmasq这样的工具。

dnsmasq提供DNS转发功能。

我们希望Pompei运行DNSmasq来处理DNS请求“嘿,Pompei,在哪里可以找到symfony.local”,并回复“嘿,没问题,它在192.168.1.5,但是不要完全相信我”。

安装dnsmasq后,dnsmasq配置文件通常位于/etc/dnsmasq.conf,具体取决于您的环境。个人建议使用no-resolv和谷歌服务器server=8.8.8.8 server=8.8.8.4。

注意:如果修改/etc/hosts文件,请始终重新启动DNSmasq才能生效。

第2步:防火墙

为了正常工作,Pompei需要允许进出53号端口的“domain”数据包。当然!这些是DNS数据包,如果Pompei不允许它们,您的DNS服务器将无法被访问。打开该53号端口。在Linux上,您通常会使用iptables来执行此操作。

这是我使用的配置,但是您很可能需要深入了解防火墙并全面理解。

# Allow outbound DNS port 53
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT

第3步:路由器

告诉您的路由器现在您的DNS服务器位于192.168.1.5上。大多数情况下,您只需登录到您的路由器并手动更改此设置即可。

这样就完成了。当您在一台计算机上询问symfony.local时,它将询问您的DNS服务器symfony.local托管在哪里,一旦从DNS服务器收到答案,它将向192.168.1.5上的Pompei发送正确的HTTP请求。

希望这能帮助您,祝您玩得开心。这两个步骤是主要的指南,因此如果您是第一次尝试,请调试并花费几个小时。让我们说这是更高级的网络设置,有主DNS服务器、辅助DNS服务器等。祝您好运!

0