Ich habe das gelesen und gelesen Nginx Proxy_pass-Dokumente. Ich dachte, ich hätte es verstanden, bis ich das verbracht habeIn der letzten Stunde wird ein nichtssagender Fehler ausgegeben, der keinen Sinn ergibt. Andere Personen mit dem gleichen Problem scheinen nicht damit in Verbindung zu stehen. Gestern war mein erster Tag mit Nginx. Ich lasse nginx v1.12.2 laufen.
Wenn jemand darum bittet https://example1.com/just-right/search
Ich möchte diese Anfrage zu vertreten https://example2.com/abc.php
location ~ /just-right/search {
proxy_pass https://example2.com/abc.php;
}
Statt den in proxy_pass definierten Pfad zu übergeben, erhalte ich den Fehler:
"proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block in line .......
Ich verwende keinen regulären Ausdruck. Was bedeutet "named location"? Es befindet sich nicht in einer if-Anweisung oder einem "limit_except" -Block, also was habe ich falsch gemacht?
Antworten:
1 für die Antwort № 1Wenn Sie Tilde (~) in Ihrem Standortblock verwenden, wird der Standort als Übereinstimmung mit regulären Ausdrücken interpretiert. Entfernen Sie das und es sollte ohne Fehler verarbeitet werden.
Siehe Dokumentation hier: https://nginx.org/en/docs/http/ngx_http_core_module.html#location