我有一個 NGINX 作為反向代理。我需要從 URL 中刪除子字串 string_1,URL 的其餘部分是可變的。
例子:
Origin: http://host:port/string_1/string_X/command?xxxxx
Destination: http://internal_host:port/string_X/command?xxxxx
nginx.conf:
location /string_1/ {
proxy_pass http://internal_host:port/$request_uri$query_string;
謝謝,
@pcamacho
答案1
這確實是基本且簡單的。只需新增/path/
一部分proxy_pass
,nginx 就會location
用該路徑取代 s 前綴。您需要替換/string_1/
為/
,所以這樣做:
location /string_1/ {
proxy_pass http://internal_host:port/;
}
答案2
我找到了重寫 proxy_pass URL 的方法:
location /string_1/ {
if ($request_uri ~* "/string_1/(.*)") {
proxy_pass http://internal_host:port/$1;
}
}
問候,
@pcamacho