【问题标题】:Alias 403 Forbidden with ApacheApache 禁止使用别名 403
【发布时间】:2012-06-28 05:45:51
【问题描述】:

我正在尝试在文档根目录外的该文件夹中创建一个名为 week7 的文件夹和一个名为 hello.html 的 html 页面,并通过 Alias 指令对其进行查看。

我从 Document Root 中创建了一个名为 week7 的文件夹。 我为它选择了这个位置:

/usr/local/www/week7

而我的文档根目录是:

/usr/local/www/apache22/data

在 httpd.conf 和标签下,我写道:

    Alias /week7 /usr/local/www/week7
<Directory /usr/local/www/week7>
    Require all granted
</Directory>

重新启动服务器后,我收到以下消息: 禁止 403 消息。

我尝试更改 hello.html 文件的权限, week7 文件夹甚至 www 文件夹都没有改变。

有什么想法吗?

【问题讨论】:

  • Require all grantedApache 2.4 中的 AFAIK apache mod_authz。你是少数几个运行它的人之一吗?大多数仍然在2.2
  • @Wrikken 我的服务器版本是 2.2,但我使用了 httpd.apache.org 上关于 Alias 指令的教程中的上述命令。我删除了目录部分,让我的命令看起来像这样: Alias /week7 /usr/local/www/week7 并重新启动了服务器,但仍然没有任何改变! (403 错误)。
  • 是的,您仍然不被允许。删除 apache 2.4 中使用的规则以允许访问不会使访问权限神奇地出现在 2.2 中...您可能想要Order allow,deny&lt;newline&gt;Allow from all
  • 您需要有Options 行。没有它,apache 不知道在哪里应用这些规则。所以,至少添加Options Indexes

标签: apache alias directive mod-alias


【解决方案1】:

我能够访问文档根目录之外的目录,但使用了该线程原始问题中提出的方法。

   # Create Alias to access files for pure js front end app
   Alias "/hbt" "/dirA/dirB/dirC"

   # Create a Directory directive for "dirC"
   <Directory /dirA/dirB/dirC>
     Require all granted
   </Directory

重新启动 Apache,它成功了!我正在使用 Apache 2.4

【讨论】:

    【解决方案2】:

    尝试此处其他答案提供的解决方案,发现它们对我不起作用,使用 Linux Mint,我找到了另一种以其他用户身份启动 apache 的选项。

    阅读unixd_module documentation后,我编辑“httpd.conf”将UserGroup更改为Alias目录所有者(或root用户)的,403“禁止”错误有走了。

    1. 在文本编辑器中打开位于/opt/lampp/etc/httpd.conf 的“httpd.conf”(例如在默认安装的 XAMPP 中)。

    2. 找到&lt;IfModule unixd_module&gt;,其中的 cmets 应该是这样的:

      如果您希望 httpd 以不同的用户或组运行,您必须首先以 root 身份运行 httpd,它会切换。

      用户/组:运行 httpd 的用户/组的名称(或#number)。

      与大多数系统服务一样,创建专用用户和组来运行 httpd 通常是一种很好的做法。

      默认UserGroup 设置为daemon

    3. 编辑UserGroup

    例如:

    <IfModule unixd_module>
      User mrJohn
      Group mrJohn
    </IfModule>
    

    我希望这是有用的。

    【讨论】:

      【解决方案3】:

      对我来说,这个解决方案是:

      当我访问虚拟目录时出现错误“访问被禁止!发生错误 403”。
      配置似乎没问题:

      Alias /static/ /home/username/sites/myblog/static/
      <Directory /home/username/sites/myblog/static> Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>
      解决方案: 默认的 apache 配置非常严格。它不允许未经身份验证访问目录。这是在 httpd.conf 的 Directory 部分定义的: <Directory> AllowOverride none Require all denied </Directory>
      向您的虚拟目录部分添加“要求所有授权”指令将授予访问权限。

      Alias /static/ /home/username/sites/myblog/static/ <Directory /home/username/sites/myblog/static> AllowOverride All Order allow,deny Allow from all Require all granted </Directory>

      【讨论】:

        【解决方案4】:

        别名 /data /media/pi/VOLUME

        .....

        选项索引 FollowSymLinks 多视图

        允许全部覆盖

        需要本地

        在本地主机的 Raspbian 上工作正常

        【讨论】:

          【解决方案5】:

          我知道它很旧,但只是为了记录,以下在 XAMPP (Windows 8) 中对我有用

          Alias /projects c:/projects
          
          <Directory c:/projects>
              Options Indexes FollowSymLinks MultiViews
              Order allow,deny
              Allow from all
          </Directory>
          

          编辑

          在 XAMPP 5.6 和 Apache 2.4 上试试这个:

          Alias /projects c:/projects
          
          <Directory c:/projects >
              Options Indexes FollowSymLinks MultiViews
              Require all granted
          </Directory>
          

          【讨论】:

          • 出色的实用解决方案。允许将 xampp/htdocs 保留为 DocumentRoot,同时允许将外部 Eclipse 项目视为 htdocs 子文件夹。
          【解决方案6】:

          如果您使用的是 apache 2.4

          命令允许,拒绝
          全部允许

          变成……

          要求全部授予

          https://httpd.apache.org/docs/2.4/upgrading.html

          【讨论】:

          • 啊,非常感谢。我最近在我的开发机器上重新安装了 ubuntu,我猜 2.4 是默认的。
          【解决方案7】:

          我用这些指令解决了这个问题:

          Options Indexes FollowSymLinks MultiViews
          AllowOverride All
          Require local
          

          您只能从本地计算机浏览,但它适用于本地测试和开发。

          【讨论】:

            猜你喜欢
            • 2016-12-03
            • 2011-10-21
            • 2014-09-20
            • 1970-01-01
            • 2014-07-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多