我正在执行基本身份验证以通过调度程序访问网页。我浏览了一些博客并能够实现它,但仅限于一个目录。下面是我配置的虚拟主机。
<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
最佳答案
我能够通过以下配置解决这个问题:
<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
而不是 Directory 并且 Require valid-user
关于linux - Apache Http 基本身份验证 - 禁止错误 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32425982/