Recientemente configuré un servidor basado en Apache con alrededor de 3 hosts/dominios virtuales + Varnish en el puerto 80. Así que digamos ejemplo1.com, ejemplo2.com y ejemplo3.com. Todos están alojados en UN servidor. Ahora, quería instalar un software de terceros que también requería estar en el puerto 80. Y si solo tiene 1 IP pública, no puede apuntar hacia servidores específicos dentro de su administrador de DNS. Es por eso que quería configurar un servidor Nginx con un proxy inverso, para usar 1 puerto y apuntarlo hacia el servidor correcto.
Después de configurar con éxito mi servidor Nginx, puse esto:
server { server_name example1.com; location ~ { proxy_pass_header Authorization; proxy_pass http://example1.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_buffering off; client_max_body_size 0; proxy_read_timeout 36000s; proxy_redirect off; } } server { server_name example2.com; location ~ { proxy_pass_header Authorization; proxy_pass http://example2.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_buffering off; client_max_body_size 0; proxy_read_timeout 36000s; proxy_redirect off; } } server { server_name example3.com; location ~ { proxy_pass_header Authorization; proxy_pass http://example3.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_buffering off; client_max_body_size 0; proxy_read_timeout 36000s; proxy_redirect off; } } Y dentro /etc/hosts :
192.168.10.10 example1.com 192.168.10.10 example2.com 192.168.10.10 example3.com Después de hacer esto, técnicamente funciona. Pero no creo que esta sea la mejor solución. Todos los servidores están en la misma LAN, pero como tengo 3 hosts virtuales, creo que no puedo simplemente ingresar 192.168.10.10:443 como proxy_pass... ¿Porque el servidor de origen no sabría qué host virtual servir? También he pensado en dar a cada host virtual en el servidor de origen su propio puerto, pero no sé si es una buena idea. Sé que Cloudflare tampoco requiere que realice ningún cambio en su servidor de origen, por lo que no debería ser necesario revisar completamente su servidor de origen.
Si alguien tiene buenas sugerencias para lidiar con este "problema" en particular, ¡gracias!