nginx:“/ root /index.html”禁止(13:权限被拒绝)

我正在安装nginx.以下是我遵循的步骤:

>将index.html文件放在/ root目录中
>编辑/etc/nginx/nginx.conf.编辑后,它看起来像这样:

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
...

http {
   ...

   server {
        listen       80 default_server;
        server_name  my_domain_name.com;
        root   /root;
    ...
}

>在this问题后,我放弃了权限:

gpasswd -a nginx root

chmod g+x /root

(抱歉,无法正确格式化为代码)

>我重启了服务器:

service nginx restart

我访问了my_domain_name.com并收到403错误. /var/log/nginx/error.log内容:

"/root/index.html" is forbidden (13: Permission denied),client: 117.211.86.108,server: my_domain_name.com,request: "GET / HTTP/1.1",host: "my_domain_name.com"
最佳答案
哦!请don’t disable SELinux.

首先 – 你真的需要从/ root提供文件吗?这实际上是root用户的主目录,并不意味着是Web根目录.这实际上是一个非常糟糕的主意.相反,使用/ var / www / html或(我的偏好)/ srv / www.如果您使用/ root,请确保您没有公开ssh密钥或authorized_keys文件,数据库密码或类似的东西.这真是一个坏主意.

其次,您应该正确配置SELinux,而不是禁用selinux(在这种情况下,保护您不会做出危险的事情).在Fedora中,SELinux策略的设计使得nginx与其他Web服务器共享,因此,使用/ srv / www / yoursite作为根,

chcon -R -t httpd_sys_content_t /srv/www/yoursite

应该这样做.

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...