Wie kann ich einen gemeinsam genutzten Konfigurationsblock für eine Reihe von Standorten konfigurieren?
location / {
proxy_pass http://127.0.0.1:9000/;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache cache-test;
proxy_cache_valid 200 302 24h;
proxy_cache_valid 404 60s;
add_header X-Cache-Status $upstream_cache_status;
}
location /api/0.1/user{
proxy_cache_key /user/$http_authorization;
}
Wenn ich jetzt versuche, auf /api/0.1/user zuzugreifen, erhalte ich 404, da die Anfrage nicht an 127.0.0.1:9000 weitergeleitet wird
Die meisten proxy_ * -Konfigurationsvariablen sind auch im Serverkontext zulässig, sodass Sie sie nach oben verschieben können, um dieselben Einstellungen an mehreren Standorten zu verwenden.
Proxy_pass sollte jedoch nur innerhalb von location verwendet werden. Sie sollten also mindestens diese Anweisung an jedem Speicherort haben und optional die Werte einiger zusätzlicher proxy_ * -Vars überschreiben.
quelle
proxy_set_header
Anweisungen verfügen, da "Diese Anweisungen werden nur dann von der vorherigen Ebene geerbt, wenn auf der aktuellen Ebene keine proxy_set_header-Anweisungen definiert sind." nginx.org/en/docs/http/…