Ich habe einen NGINX, der als Reverse-Proxy fungiert. Ich muss eine Teilzeichenfolge string_1 aus der URL entfernen, der Rest der URL ist variabel.
Beispiel:
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;
Danke,
@pcamacho
Antwort1
Es ist wirklich einfach und unkompliziert. Fügen Sie einfach /path/
einen Teil zu hinzu proxy_pass
und nginx ersetzt location
das Präfix s durch diesen Pfad. Sie müssen /string_1/
durch ersetzen /
, also tun Sie es:
location /string_1/ {
proxy_pass http://internal_host:port/;
}
Antwort2
Ich habe eine Möglichkeit gefunden, die Proxy-Pass-URL umzuschreiben:
location /string_1/ {
if ($request_uri ~* "/string_1/(.*)") {
proxy_pass http://internal_host:port/$1;
}
}
Grüße,
@pcamacho