Apache 允许访问符号链接

Apache 允许访问符号链接

请帮我解决这个问题,我甚至没有办法用谷歌搜索。不知道为什么这个 Apache 配置没有按我预期的方式工作。

<VirtualHost *:80>        
        DocumentRoot "/var/www/x/frontend/www"
        ServerName test.dev
        Alias /uploads "/var/www/x/common/uploads"
        <Directory "/var/www/x/frontend/www">
                AllowOverride All
        </Directory>
        <Directory "/var/www/x/common/uploads">
                Options +FollowSymLinks
                AllowOverride All
                Order allow,deny
                allow from all   
        </Directory>
</VirtualHost>

现在,当访问http://test.dev/uploads/something,我得到 403 Forbidden。在 apache 错误日志中:

“AH00037:不允许符号链接或链接目标无法访问:/var/www/x/common/uploads/something”

/var/www/x/common/uploads/something是 的符号链接/home/myusername/something,它是使用 sshfs 挂载的远程文件夹。

/home/myusername/something具有 755 权限,其中的所有内容均具有 777 权限。

答案1

我有两个猜测:

  1. /home/myusername 具有 750 权限,因此 Apache 无法访问子目录

  2. 其他用户仍然无法访问已挂载的目录(FUSE 默认这样做),请尝试sshfs -o allow_other修复该问题。

无论如何,您需要确定是 Apache 配置出了问题还是 Apache 服务器无法访问文件。尝试执行此操作sudo -u www-data ls /var/www/x/common/uploads/something(将 更改www-data为系统上运行 Apache 的用户)。如果出现错误,则需要在某处修复权限,否则配置出了问题。

相关内容