1. 程式人生 > >nginx location proxy pass

nginx location proxy pass

oca 必須 目標 訪問 nginx反向代理 ref 反向 targe 部署

nginx:
192.168.1.23作為nginx反向代理機器
目標機器192.168.1.5上部署一個8090端口的nginx

[root@localhost conf.d]# cat test.conf
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html;
}
 
location  /proxy/ {
          proxy_pass http://192.168.1.5:8090/;
}
}

訪問http://192.168.1.23/proxy/就會被代理到http://192.168.1.5:8090/, 瀏覽器的url是http://192.168.1.23/proxy/不變,
目標機器上無需存在proxy目錄(curl http:
//192.168.1.23/proxy 可以發現是302,301重定向) 如果:proxy_pass配置的url後面不加"/" [root@localhost conf.d]# cat test.conf server { listen 80; server_name localhost; location / { root /var/www/html; index index.html; } location /proxy/ { proxy_pass http://192.168.1.5:8090; } } 那麽訪問http://192.168.1.23/proxy或http://192.168.1.23/proxy/,都會失敗! 這樣配置後,訪問http:
//192.168.1.23/proxy/就會被反向代理到http://192.168.1.5:8090/proxy/,目標機必須有proxy目錄

快速記憶:proxypass最後如果帶 / ,則代理到目標機就沒有location後面的目錄, 不帶 / , 到目標機後攜帶location後面的目錄,一起帶過去了

nginx location proxy pass