¿Es posible usar Nginx como un proxy HTTP / HTTPS?
16
Después de algunas pruebas, he encontrado que funciona para mí la siguiente configuración.
server {
server_name ~^(www\.)?(?<domain>.+)$;
access_log /var/log/nginx/proxy.access.log main;
error_log /var/log/nginx/proxy.error.log crit;
listen 10.255.1.13:8080;
resolver 8.8.8.8;
location / {
proxy_pass http://$domain;
proxy_redirect off;
proxy_set_header Host $host;
# Optional headers
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For
# $proxy_add_x_forwarded_for;
}
}
Esta configuración funciona solo para HTTP, no para HTTPS.
listen ... default_server
. 2:server_name ""
oserver_name _
. 2:proxy_pass $scheme://$http_host
. Las limitaciones: poxying a upstreams solo con el puerto 80; no procesa se redirige a sí mismo.Creo que la respuesta corta es no, no fue escrita para proxy
ACTUALIZAR
para aclarar mi declaración anterior:
NGINX nunca se escribió teniendo en cuenta el proxy de reenvío, aunque es remotamente posible manipular la configuración para que haga lo que usted quiere que haga, tendrá que comprender las siguientes limitaciones:
Posibles otras consideraciones que se desconocen en este momento:
fuente
Si desea usar un proxy HTTP / HTTPS, debe usar Squid. Fue escrito para hacer exactamente eso. Nginx fue escrito para actuar como proxy inverso y balanceador de carga, pero no como proxy directo.
fuente