Ich habe das folgende Setup und konfiguriert, um alle / API-Anforderungen an einen anderen Server zu senden:
location /api {
proxy_pass https://myapp.herokuapp.com;
rewrite ^/api/(.*) /$1 break;
}
Meine App sendet einen Header (USER_CUSTOMER), wenn sie direkt mit myapp.herokuapp.com von der App aus kommuniziert, die sie funktioniert. Wenn sie jedoch über den Proxyserver anfordert, wird der Wert auf dem API-Server als NULL angezeigt.
Das Folgende funktioniert in NGINX, aber ich brauche die App, um den Wert von USER_CUSTOMER festlegen zu können.
location /api {
proxy_pass https://app.herokuapp.com;
proxy_set_header USER_CUSTOMER ABC;
rewrite ^/api/(.*) /$1 break;
}
Möglicherweise muss ich in Zukunft zusätzliche Header senden, daher hoffe ich, dass es ein Flag gibt, mit dem alle Header vom Proxy an den API-Server übergeben werden können.
Ubuntu
nginx/1.1.19
quelle
Ich denke, Sie suchen nach einer
proxy_pass_request_headers
Option. Setzen Sie es auf:quelle