启动Nginx后请求资源403解决方案总结 - Go语言中文社区

启动Nginx后请求资源403解决方案总结


前言

最近在测试服务器上安装并启动Nginx来运行项目,遇到了之前未见过的403错误。

测试服务器是CentOS的系统,上网搜索了一些办法,大多数都是说web目录权限不够,或者是项目根目录下没有index索引文件。

恰恰笔者的问题并不是常见的两种情况,不过还是有人提到了第三种特殊情况。极少数的特殊情况,时间长了真的容易忘记,为了避免重复踩坑,有必要总结一下。

403解决方案

大体上Nginx出现403的原因有三种,每种都有对应的解决办法。常见的两种原因就是权限问题或index文件缺失。这里假设web目录为“/www”,项目目录为"/www/OA"。

  • 如果是Nginx对web目录没有操作权限,解决办法如下:

    1. 修改web目录的读写权限。
    chmod -R 755 /www
    
    1. 将Nginx的启动用户改为web目录的所属用户,修改/etc/nginx下nginx.conf文件的user项。
  • 如果是项目目录下缺少index索引文件,解决办法如下:

在项目根目录下创建index.html或index.php文件,一般情况下就是这两个文件了,具体还得看Nginx项目配置文件中具体是如何指定的了。

server {
  listen       80;
  server_name  localhost;
  index  index.php index.html;
  root  /www;
}
  • 第三种原因比较特殊,查看服务器上是否开启了SELinux。

    SELinux如果是enabled,会产出Nginx的403问题。查看服务器SELinux状态命令如下:

    /usr/sbin/ sestatus -v
    

    确定是SELinux的原因后,可以选择关闭SELinux,有两种方式:

    1. 临时关闭,不需要重启服务器,但是如果服务器重启后会失效。
    setenforce 0
    
    1. 修改配置文件 /etc/ selinux/config,将SELINUX=enforcing改为SELINUX=disabled,注意修改后需要重启系统。

转载于:https://my.oschina.net/angerbaby/blog/738652

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_33704234/article/details/92042448
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 10:57:56
  • 阅读 ( 1320 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢