2012-08-08 12 views
5

¿Hay un equivalente de la directiva ProxyRemote de apache para NginX?Cómo configurar Nginx detrás de un proxy corporativo

Así que el escenario es que estoy detrás de un proxy corporativo y quiero hacer pases de proxy para varios servicios con NginX. Lo haría en Apache con lo siguiente:

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

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

ProxyRemote https://stackoverflow.com/http://(my representación corporativa IP)

Sé que necesito la directiva PROXY_PASS en NginX pero no puedo encontrar lo que usaría para ProxyRemote.

Gracias

Respuesta

0

Los servidores proxy de que detrás de un servidor web Nginx front-end se denominan servidores como aguas arriba. Deberá consultar la documentación del HttpUpstreamModule. Es muy similar a lo que está familiarizado. Si no necesita un equilibrio de carga, simplemente configure el servidor ascendente en la configuración y cumplirá su propósito.

+0

No veo cómo esto responde a la pregunta, tal vez Me falta algo? ProxyPass puede tomar servidores ascendentes como un parámetro que es útil para el equilibrio de carga, pero la forma de garantizar esas solicitudes es a través de algo como http_proxy env var - p. para el caso de uso de cortafuegos corporativo que mencionó? Preguntando mientras trato de hacer lo mismo. –

+0

@JeffPuckettII me funciona. Tal vez lo arreglaron. – taco

2

No estoy seguro de cómo puede funcionar la respuesta de @tacos, posiblemente algo que me falta, pero la única forma en que podría hacer que funcione es reescribiendo la url y pasando al proxy corporativo. Esto se muestra a continuación:

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

Esto funciona, pero no reescribir la url, no estoy seguro si esto es importante para el uso-caso original ..

Cuestiones relacionadas