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

时间:2018-06-22 17:05:29

标签: apache wampserver

我已经看到了许多答案,这些答案似乎是简单的解决方案,目前还没有一个解决方案。

我在PC上安装了32位Apache 2.4.33的WAMP。我可以使用别名mySite.local毫无问题地访问该PC上的网站。

PC的主机文件如下所示 127.0.0.1 mySite.local

远程笔记本电脑的主机文件是 192.168.1.114 mySite.local 那是网络上PC的IP。

httpd.conf

Listen 80
ServerName mySite.local:80
<Directory />
    AllowOverride none
    Require all denied
</Directory>
DocumentRoot "H:/Intranet/mySite_v2_www/public"

httpd-vhosts.conf

<VirtualHost *:80>
  ServerName mySite.local
  DocumentRoot "H:/Intranet/mySite_v2_www/public"
</VirtualHost>

我尝试在PC上禁用Windows防火墙和病毒检查程序。

笔记本电脑似乎可以到达那里但被阻止了。消息是..

禁止 您无权访问此服务器上的/。 mySite.local端口80上的Apache / 2.4.33(Win32)PHP / 7.2.4服务器

所以看起来它可以看到Apache,但是被阻止了。那么还需要设置什么才能访问服务器?

这是我一直关注的两个链接,以尝试使其正常运行 Error message "Forbidden You don't have permission to access / on this server"How do I connect to this localhost from another computer on the same network?

感谢您提供的任何指导。

2 个答案:

答案 0 :(得分:1)

为补充Paul Neale的答案:

Forbidden You don't have permission to access / on this server. Apache/2.4.33 (Win32) PHP/7.2.4 Server at mySite.local Port 80

该消息是Apache的答复。禁用PC上的Windows防火墙和病毒检查器无效,您已经连接到Apache了,没有任何网络问题。

Apache收到您访问根目录“ public”的请求:

H:/Intranet/mySite_v2_www/public

但是拒绝请求,因为启用了伪指令Require local。此指令意味着,您可以从本地服务器(本地主机)(与127.0.0.0或本地主机相同)访问public的内容。

您想要的是告诉apache允许将某些IP地址访问根目录“ public”。

当您将指令更改为Require all granted时,您是在告诉apache,无论是谁问,都应让其访问/(根文件夹),也就是“ public”。

因此,您要搜索的是apache中的“访问控制”,指令Require可以与IP地址一起使用,这里是main document from Apache,这是一个示例:

Require host address
Require ip ip.address

区分网络/权限问题很重要。如果您想知道是否能够与Apache进行通信(在网络级别),可以执行以下操作:

telnet <IP_APACHE_SERVER> <PORT_APACHE_SERVER>
#example: telnet 172.10.10.2 80

答案 1 :(得分:0)

因此,在玩了一天的组合之后,我发现在httpd.conf中我需要将Require local更改为Require all在本节中授予的所有权限。

<Directory "H:/Intranet/mySite_v2_www/public/">
    Options +Indexes +FollowSymLinks +Multiviews
    AllowOverride all
#   onlineoffline tag - don't remove
    # Require local
    Require all granted
</Directory>