讲师中心 微信公众号
AI工具推荐 视频效率加速

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

老辰同学_5681

老辰同学_5681

发布时间:2026-09-23 10:05:22

|

387人浏览过

|

来源于php中文网

原创

Apache DocumentRoot 指向软链接却报403,根本原因是未启用FollowSymLinks且路径权限链断裂;必须在匹配的<Directory>块中添加+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 路径完全匹配的 <Directory> 块(注意:路径必须一字不差,不能多斜杠、不能大小写错误)
  • 在 Options 行中加入 +FollowSymLinks,例如:
    Options +Indexes +FollowSymLinks +MultiViews
    或(若已有 Options 行)追加 FollowSymLinks,避免写成 -FollowSymLinks
  • 确保该块内包含访问授权指令:
    Apache 2.4+:<strong>Require all granted</strong>
    Apache 2.2:<strong>Allow from all</strong>

检查整个路径的执行权限(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 与 <Directory> 路径严格一致

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

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

热门AI工具

更多
UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

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

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

417

2023.08.15

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

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

820

2023.09.08

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

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

2412

2023.09.19

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

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

816

2023.10.09

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

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

709

2023.10.17

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

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

374

2023.10.17

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

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

2156

2023.10.18

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

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

3972

2023.10.20

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

20

2026.09.23

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn