nginx目录html 403,关于nginx静态页面出现"403Forbidden"的解决方法

本文详细探讨了如何避免滥用方法解决Nginx 403错误,强调了文件访问权限的正确设置,包括读、写和执行权限,并提到了使用namei工具检查权限。建议将站点文件放置在如/home/nginx或/user/share/nginx/html的安全位置,以确保权限配置合理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搜索到一篇不错的文章

[afterCode] 终于用正确的方式解决nginx 403 错误

23 Mar 2017

当安装启动好自己的 nginx 服务, 上传好自己的静态文件后. 很多人都会碰到 403 这个错误.

搜索网络基本得到的答案是

服务器的根目录没有 index.html index.htm

index.php 文件

根目录的权限不够

第一个问题很好解决,缺啥补啥; 或者通过 index 指令制定 failover 的文件. 权限不够就各种解法了.

比如

$chmod -R 777 /some/path/

有些比较理智的会和你说权限只要755就可以了啊.但是你发现改了这些还没有用的时候.

就开始尝试修改文件所在用户和用户组. 结果一样没有什么用.

最后你心一横, 直接在 nginx 的配置文件里面 user

root;. 然后站点访问正常就算了.

但是解决正确的方法是什么呢?

当 nginx 使用一个目录作为 root 来使用的时候, 除了需要获得这个目录下所有文件的下的读权限以外,

还需要能够成功的访问到这个路径. 换句话说到达这个目录的每个文件夹, nginx 都要有x权限. 确认是否都有 x 的权限可以使用目录 namei 帮助查找.

[root@cloud test]# namei -l /root/test/index.html

f: /root/test/index.html

dr-xr-xr-x root root / # 第一列 权限 用户 用户组 路径

dr-xr-x--- root root root # /root 目录显然对非组内的用户是没执行权限

drwxr-xr-x root root test

-rwxrwxrwx root root index.html

所以如果不小心你把站点的文件放在 root 的文件夹下, 除了用 root 执行ngxin 或者把 nginx 添加到 root

组真的没有什么其他办法可以解决这样造成的 403 错误了. 所以最好还是为 nginx 在其他更加合适的地方(/home/nginx, /user/share/nginx/html) 存放站点文件.

这里突然想到了一句话来警示自己在解决403权限问题时滥用各种方法乱投医的行为.

优化的方法方法大家都知道, 这只能算1分. 找到真正需要采用这个优化方法的地方才能得到另外的99分.

祝大家都能得到

原文在这

http://aftercode.club/aftercode/nginx/2017/03/23/solve-nginx-403-problem-the-right-way.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值