WAMP无法在本地networking上访问403禁止
我知道这个问题已经被问了很多次了
我遵循互联网上的大部分答案,但我仍然得到相同的消息
403禁止
您无权访问/在此服务器上。
奇怪的是,当我使用相同的PC访问localhost:1234
它运行正常,但如果我访问使用我的IP地址192.168.0.188:1234
还有一个很奇怪的地方是我试图在其他PC上安装WAMP,而且没有任何configuration可以访问那台PC。
所以我认为这是因为迈克菲和防火墙,所以我打开了寡妇和迈克菲的端口,没有任何改变,我关掉了防火墙,仍然没有改变。
那么没有理由我打开端口通过路由器“端口转发”,仍然没有任何改变。
我不认为这是因为我在WAMP中的configuration,因为我仍然能够得到这个403 Forbidden
消息,也可以通过使用其他PC而没有任何configuration,我可以访问它。
两台PC都是这样设置的:
Windows 8专业版
- WAMP Wampserver: 2.4
- Apache版本: 2.4.4
- PHP版本: 5.4.12
- MySQL版本: 5.6.12
可访问的PC使用Microsoft Security Essentials 。
无法访问的PC使用McAfee Internet Security 。
我试图closuresWAMP,并启动IIS的微软服务器(我工作完美从任何PC),但WAMP仍然无法正常工作
我遵循这些教程:
- 如何访问LAN或WAN中的WAMP服务器
- 安装和设置WAMP的虚拟主机指南
- 安装和设置LAN和全球WAMP访问指南
和堆栈溢出答案在这里:
- 无法访问本地networking上的wamp服务器
- WAMP 403禁止在Windows 7上的消息
如果您正在使用WAMPServer 3请参阅答案的底部
对于WAMPServer版本<= 2.5
默认情况下,Wampserver的configuration是尽可能安全的,所以Apache被设置为只允许运行wamp的机器访问。 毕竟它应该是一个开发服务器,而不是一个活的服务器。
另外,WAMPServer 2.4发布了一个小错误,它使用旧的Apache 2.2语法而不是新的Apache 2.4语法来访问权限。
您需要更改Apache上的安全设置以允许从其他位置访问,因此请编辑您的httpd.conf
文件。
从以下部分更改此部分
# onlineoffline tag - don't remove Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from ::1 Allow from localhost
至 :
# onlineoffline tag - don't remove Require local Require ip 192.168.0
Require local
允许访问这些IP的127.0.0.1 & localhost & ::1
。
语句Require ip 192.168.0
将允许您从内部networking上的任何ip访问Apache服务器。 同样,它将允许使用服务器机器访问服务器机器上的实际IP地址,就像您正在尝试的那样。
WAMPServer 3有不同的方法
在版本3和WAMPServer中,为localhost
主机预先定义了一个虚拟主机,因此您必须在虚拟主机定义configuration文件中设置访问权限
首先不要修改httpd.conf
文件,把它留下,因为你发现它。
使用菜单,编辑httpd-vhosts.conf
文件。
它应该是这样的:
<VirtualHost *:80> ServerName localhost DocumentRoot D:/wamp/www <Directory "D:/wamp/www/"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost>
修改它
<VirtualHost *:80> ServerName localhost DocumentRoot D:/wamp/www <Directory "D:/wamp/www/"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
希望你会为你的项目创build一个虚拟主机,而不是使用你的网站wamp\www
文件夹。 在这种情况下,只保留本地主机定义,并仅对您的虚拟主机进行更改。
不要忘了在做这个改变后重启Apache
对于Apache 2.4.9
另外,查看C:\ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra中的httpd-vhosts.conf文件
<VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot C:/wamp/www <Directory "C:/wamp/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Require local </Directory> </VirtualHost>
改成:
<VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot C:/wamp/www <Directory "C:/wamp/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Require all granted </Directory> </VirtualHost>
从“要求本地 ”更改为“要求全部批准 ”解决了本地networking中的错误403
我从这里得到了这个答案。 和它的作品
Require local
改成
Require all granted Order Deny,Allow Allow from all
要扩展RiggsFolly的答案 – 或者对于面临相同问题但使用Apache 2.2或更低版本的任何人 – 这种格式应该很好:
Order Deny,Allow Deny from all Allow from 127.0.0.1 ::1 Allow from localhost Allow from 192.168 Allow from 10 Satisfy Any
有关Apache 2.4格式更改的更多详细信息,官方从2.4页面升级到2.2格式非常简洁明了。 要点是:
旧的访问控制成语应该被新的authentication机制所取代,尽pipe为了与旧的configuration兼容,提供了新的模块
mod_access_compat
。
这意味着,世界各地的系统pipe理员不必惊慌地将Apache 2.2configuration更改为2.4兼容。
1.左键单击Wamp任务栏图标
2.select“放入在线”