当nginx访问辅助目录时,响应内容是相同的

时间:2018-07-12 10:41:15

标签: nginx nginx-location

当我使用以下配置访问nginx时,响应文件都相同

 worker_processes 1;
    events {
        worker_connections  1024;
    }

    http {
        include       mime.types;
        default_type  application/octet-stream;
      upstream tomcat_01 {
        server 192.168.6.103:9763 max_fails=3 fail_timeout=600;
      }

      upstream tomcat_02 {
        server 192.168.6.103:9763 max_fails=3 fail_timeout=600;
      }

      upstream default {
        server 192.168.6.106:9763 max_fails=3 fail_timeout=600;
      }

      server {
          listen 81;
          server_name  localhost;
          set $group default; 
          if ($remote_addr ~ "192.168.20.52") {
            set $group tomcat_01;
          }

        location /{
           proxy_pass http://$group/static/;
           proxy_set_header   Host             $host;
           proxy_set_header   X-Real-IP        $remote_addr;
           proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
           index  index.html index.htm;
       }
    }
    }

当我访问http://192.168.6.103:81/时,静态文件CSS,JS响应内容都是相同的内容。我该如何解决?谢谢 enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

编辑:如评论中所述,如果您还从代理服务器提供静态文件,则只需使用proxy_pass而不是别名:

location ~* \.(png|gif|css|js)$ {
     proxy_pass http://$group$request_uri;
}

旧答案(如果静态文件与NGINX在同一台服务器上,则可以使用):您可以根据文件类型进行位置匹配,并使用别名指定文件路径:

location ~* \.(png|gif|css|js)$ {
     alias /path/to/your/static/files/;
}