letsencrypt inverso nginx

letsencrypt - proxy inverso nginx



nginx reverse proxy múltiples backends (2)

El comentario de @mohamnag es correcto. proxy_pass solo se permite dentro de una location

Ver:

http://wiki.nginx.org/HttpProxyModule#proxy_pass

https://www.nginx.com/resources/admin-guide/reverse-proxy/

Entonces la configuración correcta sería

server { server_name client.domain.com; location / { # app1 reverse proxy follow proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://x.x.x.100:80; } } server { server_name client2.domain.com; location / { # app2 reverse proxy settings follow proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://x.x.x.100:80; } }

Esta es mi situación: tendré un servidor frontend ejecutando nginx y varios servidores backends ejecutando apache + pasajero con diferentes aplicaciones de rieles. NO estoy tratando de hacer ningún equilibrio de carga. Lo que tengo que hacer es configurar nginx para las conexiones de proxy a servidores específicos basados ​​en la url. IE, client.domain.com debe apuntar a xxx100: 80, client2.domain.com debe apuntar a xxx101: 80, etc.

No estoy tan familiarizado con nginx, pero no pude encontrar una configuración específica en línea que se ajuste a mi situación.

Gracias.


puedes hacer coincidir las diferentes URL con los bloques del servidor y, luego, dentro de cada bloque de servidores, tendrás la configuración del proxy inverso

server { server_name client.domain.com; # app1 reverse proxy follow proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://x.x.x.100:80; } server { server_name client2.domain.com; # app2 reverse proxy settings follow proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://x.x.x.100:80; }

obviamente agregue más configuraciones nginx (como error_page , access_log , ...) como desee en cada server -block