Tengo un problema extraño en mi servidor Nginx. Estoy usando Nginx como proxy inverso para múltiples servicios que se ejecutan internamente en mis servidores.
Esto es algo de lo que estaba tratando de lograr:
app1.mydomain.com --- --- server 1: 10.0.0.2
\ 10.0.0.1 /
|--- nginx reverse proxy server --- |
/ \
app2.mydomain.com --- --- server 2: 10.0.0.3
Entonces agregué el primero para app1, agregué la configuración de DNS en mi proveedor de dominio y todo funcionó perfectamente. Estaba muy emocionado, así que fui por el segundo y luego todo se rompió. Corrí nginx -t
y todo probó bien. El servidor Nginx todavía se estaba ejecutando sin errores pero perdí la capacidad de ver app1.mydomain.com
Las configuraciones son básicamente las mismas excepto por server_name y proxy_pass.
archivo: /etc/nginx/sites-available/app1.midominio.com
server {
server_name app1.mydomain.com;
location / {
client_max_body_size 512M;
proxy_pass http://10.0.0.2;
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_set_header X-Forwarded-Proto $scheme;
}
}
archivo: /etc/nginx/sites-available/app2.midominio.com
server {
server_name app2.mydomain.com;
location / {
client_max_body_size 512M;
proxy_pass http://10.0.0.3;
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_set_header X-Forwarded-Proto $scheme;
}
}
La forma en que hice esto fue agregando cada configuración en su propio archivo en los sitios disponibles y luego haciendosudo ln -s /etc/nginx/sites-available/app1.mydomain.com /etc/nginx/sites-enabled/
Esto funcionó perfectamente para la aplicación1, pero después de hacerlo para la aplicación2 perdí el acceso a la aplicación1 y la aplicación2 no apareció.
En mi enrutador, reenvié los puertos 80 y 443 al servidor proxy inverso 10.0.0.1 y esas son las únicas reglas en mi enrutador. En mi proveedor de nombres de dominio tengo los registros A correctos apuntando a la IP correcta. Pude verificar que todo funciona con la aplicación 1, pero después de hacer un enlace simbólico para que la aplicación 2 ingrese a sitios habilitados y reinicie nginx, pierdo el acceso a todo.
¿Alguna idea sobre lo que esta pasando? ¡Gracias!
Respuesta1
@symcbean de hecho señaló la respuesta. Las configuraciones que publiqué estaban incompletas. Para la aplicación 1 utilicé la configuración exacta que se muestra (que funcionó de alguna manera) y luego ejecuté certbot que agregó la configuración TLS y la variable de escucha a la configuración.
Luego agregué la configuración para la aplicación 2 (exactamente como se muestra) y no obtuve ningún error en el servidor, pero comencé a recibir errores de conexión rechazada cuando intenté acceder a la aplicación 1 o a la aplicación 2. Después de agregar la configuración de escucha y reiniciar nginx todo empezó a funcionar.
¡Gracias!