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

240
Vistas
Necesito ayuda para solucionar problemas de imagen acoplable personalizada para nginx

Quiero instalar un servicio web simple para explorar un árbol de directorios de archivos en un servidor interno y, para cumplir con la política de la empresa, debe usar TLS ("https://...").

Primero probé varias imágenes, incluida davralin/nginx-autoindex, y monté el directorio que quiero que comparta este servicio. Funcionó a las mil maravillas, pero no usó una conexión TLS.

Para que algo funcione con TLS, comencé desde cero y creé mi propio archivo default.conf para nginx:

 server { listen 443 ssl; listen [::]:443 ssl; server_name localhost; ssl_certificate /etc/ssl/certs/my-cert.crt; ssl_certificate_key /etc/ssl/certs/server.key; location / { root /usr/share/nginx/html; autoindex on; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }

Luego creé el siguiente Dockerfile:

 FROM nginx:stable-alpine MAINTAINER lsiden at gmail.com COPY default.conf /etc/nginx/conf.d COPY my-cert.crt /etc/ssl/certs/ COPY server.key /etc/ssl/certs/

Luego lo construyo:

 docker build -t lsiden/nginx-autoindex-tls .

Luego lo ejecuto:

 docker run -dt -v /var/www/data/files:/usr/share/nginx/html:ro -p 3453:80 lsiden/nginx-autoindex-tls

Sin embargo, no puedo alcanzarlo ni siquiera desde la máquina host. Lo intenté:

 $ telnet localhost 3453 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host.

Traté de leer los mensajes de registro:

 docker logs <container-id>

Silencio.

Ya confirmé que el proxy docker está escuchando el puerto:

 tcp6 0 0 :::3453 :::* LISTEN 14828/docker-proxy

El puerto aparece en tcp6 pero no en "tcp" (ipv4), pero leí aquí que netstat mostrará solo la conexión ipv6 incluso si está disponible en ambos. Para estar seguro, verifiqué:

 sudo sysctl net.ipv6.bindv6only net.ipv6.bindv6only = 0

Para ser exhaustivo, ya abrí este puerto en iptables, aunque iptables no puede jugar un papel aquí si ni siquiera puedo acceder desde la misma máquina a través de localhost.

Espero que alguien con buenas habilidades para establecer contactos pueda decirme dónde buscar a continuación. No puedo entender lo que me perdí.

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

0

En caso de que la configuración que compartió esté completa, no aparecerá en el puerto 80 dentro de su contenedor.

cambie su configuración a algo así en caso de que desee redirigir el tráfico entrante en el puerto 80 al 443:

 server { listen 80; listen [::]:80; location / { return 301 https://$server_name$request_uri; } } server { listen 443 ssl; listen [::]:443 ssl; server_name localhost; ssl_certificate /etc/ssl/certs/my-cert.crt; ssl_certificate_key /etc/ssl/certs/server.key; location / { root /usr/share/nginx/html; autoindex on; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }

Si no desea hacer esto, simplemente cambie el comando docker run :

docker run -dt -v /var/www/data/files:/usr/share/nginx/html:ro -p 3453:443 lsiden/nginx-autoindex-tls

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