nginx访问二级目录时,响应内容相同
当我使用以下配置访问nginx时,响应文件都是相同的nginx访问二级目录时,响应内容相同,nginx,nginx-location,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
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;
}
}
}
当我访问时,静态文件css、js响应内容都是相同的内容。我怎样才能解决它?谢谢
编辑:如评论中所述,如果您也从代理服务器提供静态文件,只需使用proxy\u 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/;
}
我按照您的方法添加了配置文件,但是访问静态文件仍然存在问题。访问所有静态文件,服务器不会响应静态文件本身,是主页静态文件也位于被代理的服务器上。代理服务器的主页地址如下代理服务器静态文件地址如下这是一个新的配置文件,但来自代理服务器的所有响应都是相同的。worker_进程1;服务器{listen 81;服务器名localhost;set$group default;if($remote\u addr~“192.168.20.52”){set$group tomcat\u 02;}位置/{proxy\u pass http://$group/static/;proxy\u set\u header Host$Host;}位置~*\(png | gif | css | js){alias http://$group/static;}}}好的,然后用proxy_pass代替alias,更新后的答案发布