代码之家  ›  专栏  ›  技术社区  ›  lpgad

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

  •  0
  • lpgad  · 技术社区  · 6 年前

    当我使用以下配置访问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

    1 回复  |  直到 6 年前
        1
  •  1
  •   Jonas    6 年前

    编辑:如注释中所述,如果您也在为代理服务器中的静态文件提供服务,只需使用proxy_pass而不是alias:

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

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

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