【问题标题】:Apache Forbidden Error WAMPApache 禁止错误 WAMP
【发布时间】:2017-06-14 20:10:24
【问题描述】:

当前使用带有 Apache 2.4.23 的 WAMP 3.06。导航到服务器计算机上的 localhost 可以完美运行,但是当我尝试访问我的网络或域上的服务器 IP 时,我得到一个 Forbidden on / 错误。我的 httpd.conf 文件有:

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

谢谢!

【问题讨论】:

    标签: apache wampserver


    【解决方案1】:

    httpd.conf 文件的这一小节

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

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

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

    默认情况下,WAMPServer 配置为单用户,开发人员工具只能从运行 WAMPServer 的 PC 访问。这是为了保护初学者免受任何意外被黑客攻击的可能性,因为没有人可以从运行 WAMPServer 的 IP 地址以外的任何 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,尝试了很多东西,但添加到 VirtualHost Conf 文件:要求 ip 192.168.1 成功了。让人们在家中的任何设备上查看服务器。
    【解决方案2】:

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

    如果你想检查你的 ip,去控制台输入 ipconfig for windows 或 ifconfig for linux/mac

    【讨论】:

      【解决方案3】:

      默认情况下,WAMP 设置为仅允许本地访问 Web 服务器。 “要求所有被拒绝”意味着 - 所有请求都通过网络被拒绝。

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

      如果此服务器未连接到公共互联网,您可以使用“要求所有授权”来授予对任何客户端计算机的访问权限。

      【讨论】:

      • &lt;Directory /&gt; 指令保护安装 Apache 的根文件夹。它应该始终设置为 Require all denied 标准安全实践。在任何地方拒绝一切,然后只允许在需要的地方访问!
      猜你喜欢
      • 2012-11-07
      • 1970-01-01
      • 2015-06-05
      • 2012-12-06
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      • 2014-07-16
      相关资源
      最近更新 更多