Nginx 代理配置(proxy_pass)

官方文檔 http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

proxy_pass 末尾是否加 / 的區別

1. 末尾有’/’

location /proxy/ {
	proxy_pass http://127.0.0.1:8080/;  #末尾有'/'
}

proxy_pass 地址末尾加 / ,則代理路徑將不包含location匹配的部分

  • 訪問 localhost:80/proxy/index.html 時,代理到 127.0.0.1:8080/index.html

2. 末尾無’/’

location /proxy/ {
	proxy_pass http://127.0.0.1:8080;  #末尾無'/'
}

proxy_pass 地址末尾不加 / ,則代理路徑將包含location匹配的部分

  • 訪問 localhost:80/proxy/index.html 時,代理到 127.0.0.1:8080/proxy/index.html

擴展:通過 rewrite 配置實現末尾不加 / 和 加 / 的代理路徑一致

location /proxy/ {
	proxy_pass http://127.0.0.1:8080;  #末尾無'/'
	rewrite '^/proxy(.*)$' $1 break;
}
  • 訪問 localhost:80/proxy/index.html 時,代理到 127.0.0.1:8080/index.html

end

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章