Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

440
Vistas
Conexión rechazada: cuando uwsgi y nginx en diferentes contenedores

Estoy tratando de configurar dos contenedores docker (sí, separados sin docker-compose): uno con nginx y otro con uwsgi con la aplicación básica de matraz.
Ejecuto contenedores en la misma red dentro de la ventana acoplable
Mi configuración de nginx para el sitio agregado/vinculado a sitios habilitados (todo lo demás es predeterminado):

 server { listen 80; server_name 127.0.0.1; location / { include uwsgi_params; uwsgi_pass 0.0.0.0:8080; } }

Mi uwsgi.ini

 [uwsgi] module = app:app master = true processes = 2 socket = 0.0.0.0:8080

El punto de entrada de uwsgi en la ventana acoplable parece

 .local/bin/uwsgi --ini uwsgi.ini

Los contenedores funcionan bien por sí solos: uwsgi recibe la solicitud en 8080 y nginx recibe las solicitudes esperadas. Sin embargo, cuando intento acceder a 127.0.0.1 obtengo el código de estado 502 y el error de registro de nginx:

1 conexión () falló (111: conexión rechazada) al conectarse al flujo ascendente, cliente: 192.168.4.1, servidor: 127.0.0.1, solicitud: "GET / HTTP/1.1", flujo ascendente: "uwsgi://0.0.0.0:8080 ", servidor: "127.0.0.1"

Al buscar en Google, encuentro una solución que prefiere usar un contenedor y some_socket.sock como archivo o usar docker compose. Aparentemente problema con los permisos, pero no se como solucionarlos ni diagnosticar.

Lanzo contenedores con estos comandos:

 docker run --network app_network --name nginx --rm -p 80:80 my_nginx docker run --network app_network --name flaskapp --rm -p 8080:8080 my_uwsgi
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

EDITAR

Simplemente puede usar el nombre de host del contenedor docker en la directiva uwsgi_pass ya que ambos contenedores docker están en la misma subred.

 location / { include uwsgi_params; uwsgi_pass flaskapp:8080; }

0.0.0.0 no es la dirección IP del servidor, esencialmente le dice al servidor que se aloje en cada IP que el dispositivo haya asignado.

Para conectarse a él desde nginx, deberá usar la dirección IP del contenedor en su lugar.

Puede encontrar la dirección IP del contenedor que ejecuta uWsgi con el siguiente comando:

 docker inspect CONTAINER_ID

Donde CONTAINER_ID es el ID del contenedor en el que inició uwsgi.

Desde aquí puede actualizar la configuración de nginx de la siguiente manera:

 uwsgi_pass IP_ADDRESS:8080;

Donde IP_ADDRESS es la que encontraste en el comando anterior

También puede configurar la dirección IP del contenedor cuando lo inicia con la siguiente opción

 --ip <ip>

Tenga cuidado, sin embargo, para asegurarse de que la dirección IP que configuró esté en la misma subred que la IP estándar asignada.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda