Apache 禁止的错误 WAMP

Apache Forbidden Error WAMP

目前使用 WAMP 3.06 和 Apache 2.4.23。导航到服务器计算机上的 localhost 工作正常,但是当我尝试访问我的网络或域上的服务器 IP 时,我收到 Forbidden on / 错误。我的 httpd.conf 文件有:

<Directory />
    AllowOverride none
    Require all denied
</Directory>

谢谢!

默认情况下,WAMP 设置为仅允许本地访问 Web 服务器。 "Require all denied" 意思就是 - 所有请求都在网络上被拒绝。

查看 Apache 文档以获取示例配置:https://httpd.apache.org/docs/2.4/howto/access.html

如果此服务器未连接到 public 互联网,您可以使用 "Require all granted" 授予对任何客户端计算机的访问权限。

httpd.conf 文件的这一小部分

<Directory />
    AllowOverride none
    Require all denied
</Directory>

通过拒绝访问该驱动器上的任何内容来保护安装 Apache 的驱动器的根文件夹免受黑客攻击(如果您的 Apache 服务器被黑客攻击)。

这是正常的安全做法,拒绝访问所有内容,然后专门允许访问需要访问的内容。

默认情况下,WAMPServer 配置为单个用户,开发人员工具只能从 PC 运行WAMPServer 访问。这是为了保护初学者免受任何意外被黑客攻击的可能性,因为没有人可以从 运行 WAMPServer 以外的任何 IP 地址访问 WAMPServer 中的 Apache。

从 WAMPServer 3 开始,我们将 WAMPServer 配置为具有为 localhost 定义的虚拟主机。这意味着为了改变对 Apache 的默认访问,您必须相应地编辑 httpd-vhost.conf 文件。

通过

从 wampmanager 菜单系统提供对该文件的访问
(left click) wampmanager -> Apache -> httpd-vhost.conf

单击此按钮,您的编辑器将打开此文件。

默认情况下看起来像这样

#
# Virtual Hosts
#

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

为了在您的 LAN 上打开对 IP 地址的访问,您可以像这样添加特定的 IP 地址

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local

        # New line
        Require ip 192.168.1.111

    </Directory>
</VirtualHost>

或者您可以像这样仅使用子网的前 3 个四分位数,使其对您子网上的任何 IP 地址都可用

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local

        # New line
        Require ip 192.168.1
    </Directory>
</VirtualHost>

更改此文件后,保存它,然后重新启动 Apache,再次使用菜单

wampmanager -> Apache -> Service Administration -> Restart Service

然后重试从局域网中的另一台电脑访问 Apache

@RiggsFolly 给出的答案对我有用,但只是为了补充 his/her post 检查你的 ip,因为在我的情况下它是 192.168.0。

如果您想检查您的 ip,请转到控制台并输入 ipconfig for windows 或 ifconfig for linux/mac