为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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

我目前正在做一个项目,我想在家里的两台笔记本电脑上进行测试,其中一台笔记本电脑连接到另一台的本地主机上。我正在使用XAMPP。我该怎么做?



查看完整描述

3 回答

?
白衣非少年

这绝对是可能的。我们来看看阿帕奇的一般情况。

假设你是Symfony 2的大粉丝,你想访问你的Symfony网站http://symfony.local/从4台不同的计算机(主机),以及Mac、Windows和Linux发行版(无线或非无线)连接到主计算机。

1 建立虚拟主机:

您首先需要在apache中设置一个虚拟主机。httpd-vhosts.conf档案。在……上面XAMP,您可以在这里找到该文件:C:\xampp\apache\conf\extra\httpd-vhosts.conf..在……上面曼普,您可以在这里找到该文件:Applications/MAMP/conf/apache/extra/httpd-vhosts.conf这一步为处理计算机上的Web服务器做好准备symfony.local请求。您需要提供虚拟主机的名称以及网站的根/主文件夹。为此,请在该文件的末尾添加以下行。您需要更改DocumentRoot你的主文件夹在哪里。我在这里/Applications/MAMP/htdocs/Symfony/作为我网站的根源。

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/Symfony/"
    ServerName symfony.local
</VirtualHost>

2 配置主机文件:

使客户端(在这种情况下是您的浏览器)了解什么symfony.local实际上,您需要编辑计算机上的主机文件。每次您在浏览器中键入URL时,您的计算机都会试图理解它的含义!symfony.local对电脑来说没有任何意义。因此,它将尝试解析名称。symfony.local一个IP地址。它将首先查看计算机上的主机文件,看看他是否可以将IP地址与您在地址栏中键入的地址匹配起来。如果它不能,它就会问DNS服务器..这里的诀窍是将以下内容附加到您的主机文件中。

  • 在……上面

    麦克

    ,这个文件在

    /private/etc/hosts;

  • 在……上面

    linux

    ,这个文件在

    /etc/hosts;

  • 在……上面

    ,这个文件在

    \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。它将理解您希望在localhost上工作(127.0.0.1)。

3 存取symfony.local从另一台电脑:

我们终于到了你们的主要问题,即:

我现在如何通过另一台计算机访问我的网站?

现在很简单!我们只需要告诉其他电脑他们怎么能找到symfony.local!我们该怎么做?

3A 获取承载网站的计算机的ip地址。:

我们首先需要知道承载网站的计算机上的IP地址(我们从一开始就一直在做的那个IP地址)。在终点站麦克linux类型ifconfig |grep inetWINDOWS类型ipconfig..让我们假设这台计算机的IP地址是192.168.1.5.

3B 编辑要访问网站的计算机上的主机文件。:

再一次,继续麦克,这个文件在/private/etc/hosts;上linux,在/etc/hosts;继续,在\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用户,则可以应用相同的策略通过VirtualBox在InternetExplorer上测试您的网站(如果您不想使用Windows计算机)。这是很好的解释在OSX上制作Windows/IE测试环境.


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

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

那么,解决方案是在承载网站的机器上安装一个代理服务器,并从您的iPhone连接到该代理。实际上,在下面的帖子中已经很好地解释了这一点,并且没有那么长的时间可以建立起来:

在Mac电脑上,我建议:在移动设备上使用本地主机名测试MacOSX网站*使用鱿鱼人作为代理人。这是一个100%免费的解决方案。有些人也可以用查尔斯作为代理服务器,但它是50美元。

在linux上,您可以通过使用鱿鱼作为代理服务器。

在Windows上,您可以使用费德勒..该解决方案在以下文章中作了介绍:用Fiddler监控iPhone流量



@Dre.是否可以通过不手动编辑主机文件从另一台计算机访问网站?假设我有100台电脑想访问这个网站

这是一个有趣的问题,因为它与OP问题有关,请允许我提供帮助。

您必须对您的网络进行更改,以便每台机器都知道您的网站托管在哪里。大多数日常路由器都不会这么做所以你必须自己管理DNS服务器在你的网络上。

让我们假设您有一个路由器(192.168.1.1)。此路由器具有DHCP服务器,并将IP地址分配给网络上的100台计算机。

现在,假设您在同一网络上拥有与上面相同的计算机192.168.1.5有你的网站。我们叫那台机器庞培.

$ echo $HOSTNAME
pompei

和以前一样,那台机器庞培在…192.168.1.5运行一个HTTP服务器为你的网站服务symfony.local.

让每台机器都知道symfony.local托管在庞培我们现在需要一个网络上的自定义DNS服务器,它知道在哪里symfony.local是托管的。网络上的设备将能够解析庞培内部。

3简单步骤。

步骤1:DNS服务器

在您的网络上设置DNS服务器.让我们穿上它庞培为了方便和使用类似的东西德斯马斯克.

Dnsmasq提供域名系统转发器....

我们要庞培运行DNSmasq来处理dns请求Hey, pompei, where is symfony.local并作出回应Hey, sure think, it is on 192.168.1.5 but don't take my word for it.

继续安装dnsmasq,dnsmasq配置文件通常在/etc/dnsmasq.conf取决于你的环境。

我个人用no-resolv和Google服务器server=8.8.8.8 server=8.8.8.4.

*注:*如果修改/etc/host文件,则始终重新启动DNSmasq,否则不会发生任何更改。

第2步:防火墙

为了工作,庞培需要允许传入和传出“域”数据包,这些包正在从端口53发送到端口53。当然了!这些是DNS数据包,如果庞培不允许这样做,您的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服务器的答复后,将立即发送正确的http请求庞培在……上面192.168.1.5.

我让你玩这个,享受这段旅程。这两个步骤是主要的指导方针,所以如果这是您第一次这样做,您将不得不调试并花费几个小时。假设这是一个更先进的网络,有主DNS服务器,辅助DNS服务器,等。..祝好运!


查看完整回答
反对 回复 2019-07-13
?
慕运维8079593

如果两台机器在同一个工作组中,则打开cmd.exe在要连接的机器上,键入ipconfig并在IPv4 Address排队。

然后,在您想要连接的机器上,使用http:// + the IP of the target machine.


查看完整回答
反对 回复 2019-07-13
?
白衣染霜花

这个工具为我节省了很多,因为我对我的机器没有管理权限,而且已经安装了NodeJS。出于某种原因,我的网络上的配置不允许我访问其他机器,而只是指向浏览器上的IP。

# Using a local.dev vhost
$ browser-sync start --proxy

# Using a local.dev vhost with PORT
$ browser-sync start --proxy local.dev:8001

# Using a localhost address
$ browser-sync start --proxy localhost:8001

# Using a localhost address in a sub-dir
$ browser-sync start --proxy localhost:8080/site1

http://www.browsersync.io/docs/command-line/


查看完整回答
反对 回复 2019-07-13

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信