Nginx 反向代理 Tomcat 返回403错误

来源:互联网 发布:淘宝助理批量删除描述 编辑:程序博客网 时间:2024/06/05 02:44

Nginx 反向代理 Tomcat 返回403错误


在配置Nginx反向代理Tomcat并实现后,有时通过代理的域名访问时,浏览器会返回403页面,这是由于进行配置时,niginx 没有读取其定义的静态文件的权限;

比如示例的 nginx.conf 部分配置如下:

upstream testapp {           server 127.0.0.1:8080;}server {    listen 80;                          server_name www.assad.site;          root /tomcat/webapps/testapp;               index index.html index.htm index.jsp                    location ~ \.(jsp|jspx|do|wsdl)$ {                        proxy_pass http://testapp;                  proxy_set_header Host $http_host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            }     location ~ \.(html|htm|js|htm|png|gif|jpg|jpeg)$ {         root /tomcat/webapps/testapp;             }  }

该示例中 root 属性,location ~ \.(html|htm|js|htm|png|gif|jpg|jpeg) {  ... } 部分定义 Nginx 所要处理的静态页面的服务器路径,在示例中为 /tomcat/webapps/testapp

在nginx.conf 开头部分,有一句配置如下:

use www www

表明 nginx 强制使用 www 用户组的www用户;

此时我们可以检查 /tomcat/webapps/testapp 权限;

cd  /tomcat/webappsll

返回中说明testapp的信息部分:

drwxr-x---  5 root root 4096 Jul 31 20:40 testapp

说明 /tomcat/webapps/testapp 目录下的文件归宿 root root 用户;

此时我们更改 /tomcat/webapps/testapp 的用户归属:

 chown -R www www webapps


之后再通过域名访问,就会返回正常页面;