Estoy usando NGINX como balanceador de carga para Apache WebServers (WordPress). Todos los servidores están hechos con AWS EC2. Mi configuración para NGINX:
cat /etc/nginx/sites-available/default upstream web_backend { server 35.157.101.5; server 35.156.213.23; } server { listen 80; location / { proxy_pass http://web_backend; } }Pero después de reiniciar NGINX, accedo al balanceador de carga a través de una IP pública y obtengo un error:
Solicitud incorrecta
Su navegador envió una solicitud que este servidor no pudo entender.
Además, se encontró un error de solicitud incorrecta 400 al intentar usar un documento de error para manejar la solicitud.
Servidor Apache/2.4.29 (Ubuntu) en ip-172-31-35-36.eu-central-1.compute.internal Puerto 80
Si actualizo la página, recibo el mismo error pero con otra IP al final (la IP privada del segundo servidor), así que entiendo que NGINX hace el trabajo y es un problema de Apache. Intenté agregar 80 puertos para mis servidores en la configuración de nginx, reemplazar ips con dns e ip privada, pero no funcionó. El registro de acceso en Apache no muestra nada útil, solo 400 errores. ¿Cual podría ser el problema?
No use '_' para el nombre ascendente, fue la única razón de mi problema.
Simplemente verifique en qué puertos se están ejecutando los servidores web Apache. Tienes que agregarlos a tus upstreams.
P.ej:
upstream web_backend { server 35.157.101.5:8080; //assuming that your apache webserver is running on this port on this host server 35.156.213.23:3000;//And a different port on the other.. you still need to add them here if your ports are same }