Apache 中 DocumentRoot 软链接目录失效怎么通过 FollowSymLinks 解决

老辰同学_5681

老辰同学_5681

2026-09-23

387人浏览

原创

apache documentroot 指向软链接却报403,根本原因是未启用followsymlinks且路径权限链断裂;必须在匹配的块中添加+followsymlinks、require all granted,并确保各级父目录有x权限及selinux/apparmor合规。

apache 中 documentroot 软链接目录失效怎么通过 followsymlinks 解决

Apache 中 DocumentRoot 指向软链接目录却返回 403 Forbidden,根本原因不是软链接本身无效,而是 Apache 默认不跟随符号链接,且路径权限链中任一环节缺失都会中断访问。仅靠改 DocumentRoot 不够,必须同步配置 FollowSymLinks 并确保系统级权限就绪。

确认并启用 FollowSymLinks 配置

Apache 必须显式允许跟随软链接,否则即使 DocumentRoot 指向一个合法软链接,也会直接拒绝访问。

  • 打开对应虚拟主机或站点的配置文件(如 /etc/apache2/sites-available/000-default.conf/etc/httpd/conf/httpd.conf
  • 找到与 DocumentRoot 路径完全匹配的 块(注意:路径必须一字不差,不能多斜杠、不能大小写错误)
  • 在 Options 行中加入 +FollowSymLinks,例如:
    Options +Indexes +FollowSymLinks +MultiViews
    或(若已有 Options 行)追加 FollowSymLinks,避免写成 -FollowSymLinks
  • 确保该块内包含访问授权指令:
    Apache 2.4+:Require all granted
    Apache 2.2:Allow from all

检查整个路径的执行权限(x 权限)

Linux 中,要进入一个目录,用户必须对该目录有 x(执行)权限。软链接本身可读,但 Apache 进程需能“穿越”从根目录到目标目录的每一级父目录。

Somark Document Parser
Somark Document Parser

使用 SoMark 将 PDF、图片(PNG/JPG/BMP/TIFF/WebP/HEIC)、Word、PPT 及其他文档解析为 Markdown 或 JSON,满足各类文档解析需求(如简历等)。

下载
  • namei -l /path/to/your/symlink 查看完整路径各层权限和属主
  • 重点检查软链接目标路径的父目录(如 /home/username),常见问题:家目录权限为 700(drwx------),缺少其他用户或组的 x 权限
  • 修复示例:
    chmod o+x /home/username(开放“others”的执行权限)
    或更安全地:chmod g+x /home/username && chgrp www-data /home/username(加组权限并归属 Web 组)

处理 SELinux 或 AppArmor 干预(RHEL/CentOS/Fedora 或 Ubuntu)

即使配置和文件权限全对,强制访问控制模块仍可能拦截软链接访问。

  • 运行 sestatus 确认 SELinux 是否启用(enforcing);Ubuntu 则运行 aa-status
  • RHEL/CentOS:临时验证可运行 setenforce 0,若 403 消失,则需持久化修复:
    setsebool -P httpd_read_user_content 1
    若目标目录在用户家目录下,还需打标签:
    semanage fcontext -a -t httpd_sys_content_t "/home/username/your-target(/.*)?"
    restorecon -Rv /home/username/your-target
  • Ubuntu(AppArmor):编辑 /etc/apparmor.d/usr.sbin.apache2,在 abstractions/apache2-common 下添加目标路径读取规则,然后 sudo systemctl reload apparmor

验证 DocumentRoot 与 路径严格一致

Apache 的权限控制基于物理路径字符串精确匹配。软链接的存在会让 DocumentRoot 和实际路径分离,但 块必须作用于 DocumentRoot 所声明的路径(即软链接所在位置),而非其指向的目标路径。

  • 例如:
    DocumentRoot /var/www/html
    /var/www/html/nextcloud → /mnt/data/nextcloud(软链接)
    那么 必须存在且含 FollowSymLinks,而不是配
  • 若使用虚拟主机,确保 内的 块放在全局 拒绝块之后,否则会被顶层策略覆盖
  • 重启 Apache 后用 apache2ctl -t(Debian/Ubuntu)或 httpd -t(RHEL/CentOS)校验语法

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

820

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2392

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

816

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

709

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

374

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2136

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

3932

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

647

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Apache Maven 官方安装指南
Apache Maven 官方安装指南

共0课时 | 0人学习

Apache Maven 官方用户中心
Apache Maven 官方用户中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习