Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

441
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!