Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

436
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda