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

795
Vistas
No se puede habilitar ssl por docker-letsencrypt-nginx-proxy-companion

Quiero habilitar ssl mediante docker-letsencrypt-nginx-proxy-companion . Este es el docker-compose.yml

 version: "3.3" services: nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy ports: - "80:80" - "443:443" volumes: - certs:/etc/nginx/certs:ro - vhostd:/etc/nginx/vhost.d - html:/usr/share/nginx/html - /var/run/docker.sock:/tmp/docker.sock:ro restart: always db: # --- wordpress: # --- environment: # --- VIRTUAL_HOST: blog.ironsand.net LETSENCRYPT_HOST: blog.ironsand.net LETSENCRYPT_EMAIL: mymail@example.com restart: always letsencrypt-nginx-proxy-companion: container_name: letsencrypt image: jrcs/letsencrypt-nginx-proxy-companion volumes: - certs:/etc/nginx/certs - vhostd:/etc/nginx/vhost.d - html:/usr/share/nginx/html - /var/run/docker.sock:/var/run/docker.sock:ro environment: NGINX_PROXY_CONTAINER: nginx-proxy restart: always networks: default: external: name: nginx-proxy volumes: certs: vhostd: html:

docker logs letsencrypt muestra que ya existe un certificado.

 /etc/nginx/certs/blog.ironsand.net /app Creating/renewal blog.ironsand.net certificates... (blog.ironsand.net) 2020-04-09 00:03:23,711:INFO:simp_le:1581: Certificates already exist and renewal is not necessary, exiting with status code 1. /app

Pero el desafío ACME no devuelve nada. (¿falla?)

 $ docker exec letsencrypt bash -c 'echo "Hello world!" > /usr/share/nginx/html/.well-known/acme-challenge/hello-world' $

El puerto 443 está escuchando, pero el puerto está cerrado desde el exterior.

 // in remote server $ sudo lsof -i:443 [sudo] password for ubuntu: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME docker-pr 10910 root 4u IPv6 633694 0t0 TCP *:https (LISTEN) // from local pc ❯ nmap -p 443 blog.ironsand.net Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-09 09:44 JST Nmap scan report for blog.ironsand.net (153.127.40.107) Host is up (0.035s latency). rDNS record for 153.127.40.107: ik1-418-41103.vs.sakura.ne.jp PORT STATE SERVICE 443/tcp closed https Nmap done: 1 IP address (1 host up) scanned in 0.21 seconds

Estoy usando filtrado de paquetes, pero está abierto para 80 y 443, y no estoy usando firewall. ¿Cómo puedo investigar más donde existe el problema?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No puedo resolver su problema directamente, pero puedo escribir algunas sugerencias, por lo que puedo resolver su problema.

  1. Tu comando no devuelve nada.
    bash -c 'echo "Hello world!" > /usr/share/nginx/html/.well-known/acme-challenge/hello-world'
    Este comando solo escribe "¡Hola mundo!" al lugar y normalmente no devuelven nada. Consulte https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Redirections

  2. Mire dentro de la carpeta de certificados.
    Eche un vistazo a la carpeta de certificados y tal vez límpielos. Verifique que la carpeta se haya montado correctamente en su contenedor nginx. Tome un bash en el contenedor y verifique la carpeta ssl.

  3. Comprueba que el cortafuegos no se rompe nada
    ¿Desde afuera no hay conexión posible? ¿Qué es del interior? Inicie sesión en su docker-host y verifique la conexión desde allí (tal vez openssl y curl sean sus amigos),

  4. No use SSL dentro del contenedor.
    A menudo veo problemas cuando alguien intenta usar ssl con imágenes ACME y "volúmenes compartidos y de montaje salvaje". Pero nunca escuché sobre problemas, cuando las mismas personas usan un proxy inverso normal. Explico una buena configuración a continuación.

Así que simplemente elimine todo el código letscrypt de su contenedor y cierre el puerto 443 de su contenedor.
(Además, puede cambiar a una imagen no raíz y exponer solo los puertos que no necesitan privilegios de raíz). Luego, instale nginx en su host y configure un proxy inverso (algo así como proxy_pass 127.0.0.1:8080 ). Y ahora instale certbot e inícielo. Te ayuda y es sencillo.
El certbot también puede mantener sus certificados.

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