11 Stimmen

Wie man Nginx hinter einem Firmenproxy konfiguriert

Gibt es ein Äquivalent zur ProxyRemote-Direktive von Apache für NginX?

Das Szenario ist also, dass ich hinter einem Firmenproxy stehe und mit NginX Proxy-Pässe für verschiedene Dienste erstellen möchte. Ich würde es in Apache mit dem folgenden tun:

ProxyPass /localStackOverflow/ https://stackoverflow.com/

ProxyPassReverse /localStackOverflow/ https://stackoverflow.com/

ProxyRemote https://stackoverflow.com/ [http://(mein](http://(my) Unternehmens-Proxy-IP)

Ich weiß, dass ich die proxy_pass-Direktive in NginX brauche, aber ich kann nicht finden, was ich für ProxyRemote verwenden würde.

Danke

4voto

Mark D Punkte 4998

Ich bin mir nicht sicher, wie @tacos Antwort funktionieren kann - möglicherweise übersehe ich etwas, aber der einzige Weg, wie ich dies zum Funktionieren bringen konnte, war das Umschreiben der URL und die Weitergabe an den Unternehmens-Proxy. Dies wird unten gezeigt:

http {
  server {
    listen 80;
    location / {
          rewrite ^(.*)$ "http://www.externalsite.com$1" break;
          proxy_pass http://corporate-proxy.mycorp.com:8080;
    }
  }
}

Dies funktioniert, aber schreibt die URL um, nicht sicher, ob dies für den ursprünglichen Anwendungsfall wichtig ist.

1voto

taco Punkte 1371

Die Server, die Sie hinter einen Nginx-Frontend-Webserver stellen, werden als Upstream-Server bezeichnet. Sie sollten sich die Dokumentation für den HttpUpstreamModule . Es ist sehr ähnlich wie das, womit Sie vertraut sind. Wenn Sie keinen Lastausgleich benötigen, müssen Sie nur einen Upstream-Server in der Konfiguration einrichten, und der erfüllt Ihren Zweck.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X