`
ngcsnow
  • 浏览: 33807 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

nginx静态资源文件无法访问,403 forbidden错误

阅读更多

      今天在搭建nginx环境时出现一个奇怪问题,配置的静态资源目录下面文件无法访问,浏览器访问出现403 forbidden,环境是centos7 + nginx 1.6。nginx.conf中http配置如下:

 

……

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    upstream  tomcat_server {
        server   10.10.100.52:8080;
    }

    server {
        listen  80;
        charset  utf-8;
        server_name  localhost;

        location /fcm/ {
             index  index.html index.htm;
             proxy_pass       http://tomcat_server;
             proxy_set_header  X-Real-IP  $remote_addr;
             client_max_body_size  100m;
        }

        location /static/ {
           root /home/www/static;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

……

 

      从配置上看没有什么问题,而且这里配置的fcm转发到tomcat是没问题的,之前环境都是这么配的都没问题,查看nginx的log文件,发现错误日志中静态文件访问都出现 Permission denied的权限错误,但是将/home/www/static目录赋予777的最高权限还是不能解决。

 

      后来看见nginx.conf头部有一行注释的#user  nobody; 遂想可能和这有关系,取消注释,重启nginx,访问还是有问题,查了一下这行是设置nginx运行用户的,遂将nobody改成root,重启好了,找了好久的问题居然是这个原因,喜大普奔!!

 

      后来想以前我都是在linux的root用户下安装软件和操作,nginx是在root下安装的,所以没设user也没问题,这次由于centos7刚出来所以我下载了一个cenos尝鲜,并新建的一个用户,不是用root用户操作的所以就不和谐了。

 

      所以最终解决方法是在nginx.conf配置文件头部加user root:

 

user  root;
worker_processes  8;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

……

 

  

 

 

分享到:
评论
1 楼 kylix1 2016-04-13  
问题是解决了没错,但用root用户来运行nginx,测试用是没问题的,用作生产那就。。。

相关推荐

    nginx-accesskey-2.0.3

    如果不匹配,Nginx将返回403 Forbidden错误,阻止非法访问。 **防盗链的应用场景** 1. **保护静态资源** 防止其他人盗用网站的图片、视频等静态资源,降低服务器带宽消耗。 2. **付费内容下载** 对于付费用户...

    nginx应用部署和负载均衡应用

    - **403 Forbidden**:表示客户端没有权限访问资源,可能是文件权限问题或访问控制设置不当。 - **404 Not Found**:表示请求的URI对应的文件不存在,需检查URL是否正确,或者配置文件中的静态文件路径是否匹配。 ...

    在使用 Nginx 过程中,用户可能会遇到一些常见的问题 以下是对这些常见问题的说明和解决方法

    **问题描述**:当 Nginx 无法访问特定文件或目录时会返回 403 Forbidden 错误。 **解决方法**: 1. **权限设置**:确认文件和目录的权限设置允许 Nginx 访问。这通常涉及到更改文件/目录的所有者或权限。 2. **...

    服务器修改nginx配置,有效禁止无用爬虫专用资源

    本篇文章将详细介绍如何通过修改`nginx`配置来有效地禁止无用爬虫对服务器资源的访问。 首先,我们要理解`nginx`配置的基本结构。`nginx`的配置文件通常位于`/etc/nginx/nginx.conf`或`/usr/local/nginx/conf/nginx...

    Nginx基础教程.pdf

    3. **403 Forbidden错误** - 确认Nginx有权限访问请求的文件或目录。 - 确认Nginx配置中的根目录路径是否正确。 4. **404 Not Found错误** - 确认请求的文件确实存在。 - 检查Nginx配置中的根目录路径是否正确。...

    详解Nginx启动失败的几种错误处理

    当用户访问Nginx托管的网页时,如果收到`403 Forbidden`错误,这意味着Nginx没有权限访问或执行请求的资源。这通常是由于Nginx工作进程用户(默认为`nginx`)与网站文件的属主不同造成的。 - **检查错误日志**:...

    Nginx限制IP访问某些页面的操作

    Nginx是一款高性能的HTTP和反向代理服务器,常用于网站服务器配置,具有处理静态文件、反向代理、负载均衡等功能。在特定情况下,我们可能需要限制特定IP地址对某些页面的访问,以提高安全性或保护隐私。以下将详细...

    Mac OS X 下安装Nginx问题详解.docx

    然而,在实际运行中,可能会遇到403 Forbidden错误。这通常意味着用户没有足够的权限访问某些资源。在这种情况下,检查文件和目录的权限至关重要。在本例中,问题出在目录权限上,尤其是那些包含Web内容的目录。通过...

    nginx+lua+redis黑名单加载

    在构建高性能、高可用性的Web服务时,`nginx`是一个常用的选择,因为它具有出色的静态文件处理能力和反向代理功能。而结合`lua`脚本语言和`redis`内存数据库,可以实现灵活的数据交互和动态逻辑处理。在这个场景下,...

    详解Nginx防盗链和Nginx访问控制与Nginx解析php的配置

    这段配置表示,对于所有匹配到的静态文件类型,设置过期时间为7天(expires 7d),只允许来自指定域名(*.test.com)的请求访问,其他无效的引用(none或blocked)将返回403 Forbidden状态码。 **二、Nginx访问控制...

    linux-使用NginxLua实现的WAF

    这种结合使得Nginx不仅能处理静态文件,还能处理动态内容,并且能更灵活地应对安全防护需求。 **2. WAF的作用** WAF的主要功能是保护Web应用程序免受各种攻击,如SQL注入、跨站脚本(XSS)、文件包含漏洞等。它...

    nginx location中uri的截取的实现方法

    - 使用`alias`时,确保目标路径的末尾有一个"/",以避免403 Forbidden错误,如`location /lctest8/ { alias /data/web/; }`。 - `proxy_pass`的URI截断行为会影响到负载均衡策略,务必根据实际需求调整。 理解这些...

    Nginx中使用Lua脚本配置示例

    如果超过限制(这里是5次),则返回403 Forbidden错误,阻止进一步的访问。否则,增加计数并设置一个新的过期时间。 如果要拦截包含特殊字符的URL,例如"firstsale/AjaxPanicNow",我们需要在正则表达式中对特殊...

    Nginx跨域访问场景配置和防盗链详解

    在本文中,我们将深入探讨Nginx服务器在处理跨域访问和防盗链方面的配置。跨域访问控制和防盗链是Web服务器管理中两个重要的安全措施,它们对于保护网站资源和确保正常用户体验至关重要。 首先,我们来理解一下为...

    Nginx服务器实现通过ip和user_gent限制访问的方法分析

    Nginx是一款高性能的HTTP和反向代理服务器,被广泛应用于网站的负载均衡和静态资源处理。在面对DDoS(Distributed Denial of Service)攻击时,Nginx提供了多种手段来限制特定IP地址和user_agent,从而保护服务器免...

    记一次vue去除#问题处理经过小结

    此外,你提到的 403 Forbidden 错误通常意味着服务器拒绝了访问请求。这可能是由于权限问题、禁止目录浏览或其他安全设置导致的。在调整 Nginx 配置时,确保对目录的访问权限设置正确,同时要考虑安全性,避免开放...

    虚拟域名的配置和设置方法

    2. **访问错误**:确认配置文件中ServerName或server_name是否与实际域名一致,DocumentRoot或root路径是否正确。 3. **403 Forbidden**:可能是因为权限问题,确保网站目录对Web服务器用户有读取和执行权限。 总之...

    php使用gzip压缩传输js和css文件的方法

    例如,如果请求中缺少必要的参数或者指定的文件类型不正确,脚本将返回HTTP 403 Forbidden错误。 另一个需要注意的点是,文章中提到的代码片段不完整,但给出了一个完整调用示例,其中涉及到的combine.php脚本能够...

    在PHP中使用FastCGI解析漏洞及修复方案

    具体来说,可以添加一个正则表达式,用于检测URL模式中包含“..*/.php”的情况,并在这种情况下返回HTTP 403 Forbidden错误,阻止请求继续执行。这样即使PHP的fix_pathinfo选项是开启的,服务器也不会执行这些被恶意...

Global site tag (gtag.js) - Google Analytics