禁止访问:您无权访问此服务器上的/ WAMP错误

JRu*_*ulz 16 apache wamp phpmyadmin wampserver windows-8

我已经在Windows 8上安装了wamp,并且每当我转到localhost或phpmyadmin时都收到了上面的错误.经过多次搜索后,我发现了许多答案,其中包括将httpd.conf修改为等.链接显示了这些常见答案以及更多信息.Allow from All

我的问题是,许多人认为它允许所有用户访问phpMyAdmin,它是不安全和易受攻击的等等.我想创建完全安全的WAMP服务器,如果我这样做可以吗?

有人可以提供一些参考或信息吗?

Has*_*eed 23

1.

首先是端口80(或者你正在使用的)和443必须允许TCP和UDP数据包.为此,在Windows防火墙上为端口80和443创建TPC和UDP的2个入站规则.(或者,您可以禁用整个防火墙进行测试,但如果允许入站规则,则可以禁用永久解决方案)

2.

如果您正在使用WAMPServer 3请参阅答案的底部

对于WAMPServer版本<= 2.5

您需要更改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
Run Code Online (Sandbox Code Playgroud)

至 :

#   onlineoffline tag - don't remove
    Order Allow,Deny
      Allow from all
Run Code Online (Sandbox Code Playgroud)

如果"允许所有"行不适用于您当时使用"需要所有授予",那么它将适合您.

WAMPServer 3有不同的方法

在版本3和WAMPServer中,有一个预先定义的虚拟主机,localhost所以根本不修改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>
Run Code Online (Sandbox Code Playgroud)

修改它

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

注意:如果您正在运行wamp而不是端口80,则VirtualHost将类似于VirtualHost*:86.(86或端口,无论您使用的是什么)而不是VirtualHost*:80

3. 进行此更改后,不要忘记重新启动Wamp或Apache的所有服务

  • 这应该被选为正确答案。@Hassan 你救了我的命! (2认同)

Sar*_*emp 19

我发现最好的(也是最不令人沮丧的)路径是开始Allow from All,然后,当你知道它将以这种方式工作时,将其扩展回更安全Allow from 127.0.0.1Allow from ::1(localhost).

只要您的防火墙配置正确,Allow from all不应该导致任何问题,但如果您不需要其他计算机来访问您的站点,最好只允许来自localhost.

每当您对httpd.conf进行更改时,不要忘记重新启动Apache.它们直到下一次开始才会生效.

希望这足以让您入门,在线提供大量文档.

  • 非常感谢,这是非常明确,及时和描述性的. (3认同)
  • 确实.感谢简单的回答,对我们这些知之甚少的人缺乏光顾态度. (3认同)
  • 对于在我之后查看此内容的任何人,上面链接的博客文章已不再存在,但这里有一个指向不同服务器的链接:http://www.hieule.info/web/solve-the-denied-access - 问题-当-使用-瓦帕服务器-2-上窗口-8 / (2认同)

ajo*_*jon 11

默认情况下,wamp将以下内容设置为未显式声明的任何目录的默认值:

<Directory />
    AllowOverride none
    Require all denied
</Directory>
Run Code Online (Sandbox Code Playgroud)

对我来说,如果我注释掉Require all denied我开始访问相关目录的行.我不推荐这个.

而是在我包含的目录指令中Require local,如下所示:

<Directory "C:/GitHub/head_count/">
    AllowOverride All
    Allow from all
    Require local
</Directory>
Run Code Online (Sandbox Code Playgroud)

注意:当我只有时,我仍然被拒绝许可Allow from all.添加Require local对我有帮助.


San*_*mar 8

添加Allow from All对我没用.然后我尝试了这个并且它有效.

操作系统:Windows 8.1
Wamp:2.5

我在文件C:\ wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf中添加了这个

<VirtualHost *:80>
    ServerAdmin localhost@localhost.com
    DocumentRoot "c:/wamp/www/"
    ServerName localhost
    ServerAlias localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)