nginx location反向代理不对等时的处理

时间:2023-03-09 06:33:28
nginx location反向代理不对等时的处理

server{
server_name git.cheyunhua.top;
location /test12/ {
proxy_pass https://www.baidu.com/;
}
}

location ^~ /oa/ {
         proxy_pass http://localhost:8998/;

}

比如访问git.cheyunhua.top/test12 反向代理到http://www.baidu.com,需要在location以及pass的最后最好都需要加/.

在大多情况下不需要在test12加/  如下gateway:

location /gateway {
proxy_pass http://jcdz_gateway/;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

rewrite

location ~ \.(gif|jpg|png|js|css|woff2|woff|ttf|svg|eot|otf|ico)$
{
#set $portal_root "/data/web";
root /data/web;
rewrite ^/pc/(.*)$ /portal/public/res/$1 last;

return

location ~/gateway/(.*)/inner {
return 502;
}

jenkins

location ^~ /jenkins {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080;

注意:如使用如下jenkins上下都加 / 配置不行,单加在最后也不行

location ^~ /jenkins/ {

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080/;

总结:

视情况而定,,根据url规则,一般的建议都是一一对应,不然会不对应的实例问题多