Apache Http基本身份验证 - 禁止错误403

时间:2015-09-06 16:52:30

标签: linux apache authentication webserver http-authentication

我正在进行基本身份验证以通过调度程序访问网页。我已经浏览了一些博客并且能够实现它,但仅限于一个目录。下面是我配置的虚拟主机。

    <VirtualHost *:80>
    ServerAdmin admin@aemcorner.com
    ServerName aemcorner.com
    ServerAlias www.aemcorner.com
    #DocumentRoot /var/www/example.com/public_html
        DocumentRoot /opt/communique/dispatcher/cache
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
       <Directory /content/practice/en/hello/secure-pages>
   # <Directory /var/www/example.com/public_html>
          AuthType Basic
          AuthName "Secure Content"
          AuthBasicProvider file
          AuthUserFile /etc/apache2/passwords
          Require all granted
        </Directory>
</VirtualHost>

在这里,我想使用注释行,这个片段工作正常,但当我 将其替换为 / content / practice / en / Secure-Pages 并使用注释的DocumentRoot,它会给我一个错误,如下所示:

**Forbidden
You don't have permission to access /content/practice/en/hello/secure-pages/sp1.html on this server.**

我想访问页面/opt/communique/dispatcher/cache/content/practice/en/Secure-Pages/SP1.html

我也收到以下错误:

[Mon Sep 07 20:57:39.500158 2015] [authz_core:error] [pid 9483:tid 140017092585216] [client 127.0.0.1:49543] AH01630: client denied by server configuration: /opt/communique/dispatcher/cache/favicon.ico, referer: http://aemcorner.com/content/practice/en/hello/secure-pages/sp1.html

1 个答案:

答案 0 :(得分:1)

我能够通过以下配置解决这个问题:

<VirtualHost *:80>
    ServerAdmin admin@aemcorner.com
    ServerName aemcorner.com
    ServerAlias www.aemcorner.com
    #DocumentRoot /var/www/example.com/public_html
        DocumentRoot /opt/communique/dispatcher/cache
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
       <Location /content/practice/en/hello/secure-pages>
   # <Directory /var/www/example.com/public_html>
          AuthType Basic
          AuthName "Secure Content"
          AuthBasicProvider file
          AuthUserFile /etc/apache2/passwords
          Require valid-user
        </Location>
</VirtualHost>

我使用Location代替目录和Require valid-user