• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

276
Views
Docker componer y nombres de host de red nginx

Tengo la siguiente configuración:

  • nginx iniciado por un archivo de composición docker que actúa como proxy inverso // punto final ssl
  • un servicio de aplicación iniciado por un archivo de composición de docker diferente (por razones de modularidad) que sirve una aplicación
  • reverse_proxy y app_service están conectados a través de app_network

Dado que están conectados a través de app_network , puedo dirigirme a app_service en la configuración de nginx como http://app_service:8080 , lo cual es bueno porque no necesito exponer puertos en el servicio de aplicaciones en sí.

Desafortunadamente, nginx no se iniciará hasta que abra el contenedor del servicio de la aplicación porque verifica la existencia del servicio de la aplicación del nombre de app_service al inicio.

¿Cómo puedo evitar que nginx verifique el nombre de host al inicio, lo que podría causar un error de puerta de Bad Gateway incorrecta al intentar conectarme mientras app_service aún no se está ejecutando?

Archivos de configuración para referencia:

 # reverse proxy docker-compose.yml version: '3' services: reverse_proxy: restart: always container_name: reverse_proxy image: nginx ports: - 80:80 - 443:443 volumes: - /srv/docker/nginx/config:/etc/nginx - /srv/ssl:/srv/ssl networks: default: external: name: app_network
 # application service docker-compose.yml version: '3' services: app_service: restart: always container_name: app_service image: <my_app_image> networks: default: external: name: app_network
 # nginx config server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name app.example.com; location / { proxy_pass http://app_service:8080; include proxy.conf; } ssl_certificate /srv/ssl/<mycert>.crt; ssl_certificate_key /srv/ssl/<mykey>.key; }
about 3 years ago · Santiago Trujillo
1 answers
Answer question

0

Aquí hay una manera que funcionó para mí:

 # nginx config server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name app.example.com; location / { set $upstream app_service:8080; proxy_pass $upstream; include proxy.conf; } ssl_certificate /srv/ssl/.crt; ssl_certificate_key /srv/ssl/.key; }

Esto da como resultado un mensaje 502 Bad Gateway si el host no está disponible y no verifica la disponibilidad al inicio.

about 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error