我正在尝试在 Ubuntu 13.10 EC2 实例上设置 Apache VirtualHost,它将以老式风格从目录中提供媒体文档。有一个现有的 VirtualHost 可以很好地处理 ProxyPass,并且以下内容:
<VirtualHost *:80>
ServerName media.ccachicago.org
ServerAlias media.ccachicago.pragmatometer.com
DocumentRoot /home/ubuntu/ccachicago/media
<Directory "/home/ubuntu/ccachicago/media">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
#Order deny,allow
#Deny from all
#Allow from 127.0.0.0/255.0.0.0 ::1/128
Order deny,allow
Deny from all
Allow from 0.0.0.0/0.0.0.0 ::1/128
</Directory>
ServerAdmin [email protected]
</VirtualHost>
media.ccachicago.pragmatometer.com/css/style.css 出现以下 403 错误:
Forbidden
You don't have permission to access / on this server.
Apache/2.4.6 (Ubuntu) Server at media.ccachicago.pragmatometer.com Port 80
我用多种方式检查了文件权限,nobody
我可以 cat /home/ubuntu/ccachicago/media/css/style.css,但我在尝试访问此 VirtualHost 时只得到了 403。我还检查了<Directory>
上述权限是否允许任何客户端访问媒体。
我还能做什么来阻止 VirtualHost 按需要提供静态媒体内容?该机器是一个新的 Ubuntu 13.10 Amazon EC2 实例,并且仅具有来自新项目的 VirtualHosts、内容等。
答案1
我需要更换:
Order deny, allow
Deny from all
Allow from 0.0.0.0/0.0.0.0 ::1/128
和:
Require all granted
从https://stackoverflow.com/questions/11992466/apache-permission-denied