• 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Traefik en Docker
#11
Hola

Te has lanzado a hacer muchos cambios de golpe. Y hay que ir a paso a paso.

Lo primero, deshaz lo de cloudflare. Para ello vete a tu proveedor y deja las dns originales. Si no los sabes, habla con tu proveedor para que te las diga.
Sabras que has vuelto a ellos si haciendo un ping a www.tudominio.com te responde co la misma ip que si lo haces a tu nombre de duckdns.org

Una vez esté hecho, métete con traefik.
Los certificados loa tienes que dejar en la ruta que has puesto en la creación del docker. Y según lo que has puesto debería ser en la carpeta compartida /share/DockerVolumes/certs

No conviene mezclar cosas porque es difícil encontrar un fallo cuando tienes una cadena de procesos nuevos (creación del docker, configuración de traefik, certificados, configuración cloudflare y ajuste de tu dominio y dns)
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#12
(16-05-2021, 12:23 AM)Ganekogorta escribió: Hola

Te has lanzado a hacer muchos cambios de golpe. Y hay que ir a paso a paso.

Lo primero, deshaz lo de cloudflare. Para ello vete a tu proveedor y deja las dns originales. Si no los sabes, habla con tu proveedor para que te los diga.
Sabras que has vuelto a ellos si haciendo un ping a www.tudominio.com te responde co la misma ip que si lo haces a tu nombre de duckdns.org

Una vez esté hecho, métete con traefik.
Los certificados loa tienes que dejar en la ruta que has puesto en la creación del docker. Y según lo que has puesto debería ser en la carpeta compartida /share/DockerVolumes/certs

No conviene mezclar cosas porque es difícil encontrar un fallo cuando tienes una cadena de procesos nuevos (creación del docker, configuración de traefik, certificados, configuración cloudflare y ajuste de tu dominio y dns)
Efectivamente compañero, es para quedar loco, hace dos dias resetie el nas a los estados de fabrica, asi que tuve que volver a instalar todo Rclone para poder sacar mis backup de la nube, configurar todo el nas, y segui con todo este tinglado. Esa misma pregunta me hice yo hace una rato, como se me ocurre meterme en tantos berenjenales a la ves?. Tengo los dns originales, los guarde por si las moscas, voy a ponerlo y cuando mas adelante este todo controlado miro de volver a cloudflare.
No me queda claro lo de hacer un ping, cuando me lo dijiste antes no lo pude hacer desde el movil ni pc.
Lo de traefik creo que lo tengo un 60 por ciento controlado, falta creo lo de los certificados, que como te digo en la imagen del error que sale de los certificados, en que formato debe de estar?.
Bueno muchas gracias por los consejos y a ver si soluciono algo mas...
  Responder
#13
Hola
Ahora te puede tocar esperar 24 horas a la propagación de los dns [emoji2371]

Bueno, lo de los certificados. Aunque no los tengas bien, te dará aviso y podrías acceder agregándomela excepción de seguridad.

Aun así los certificados son los siguientes y debes hacerlos coincidir en nombre con lo que le indicas a traefik
[Imagen: 3f517aae25ae9ea67477969aa763c5fb.jpg]
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#14
(16-05-2021, 11:40 AM)Ganekogorta escribió: Hola
Ahora te puede tocar esperar 24 horas a la propagación de los dns [emoji2371]

Bueno, lo de los certificados. Aunque no los tengas bien, te dará aviso y podrías acceder agregándomela excepción de seguridad.

Aun así los certificados son los siguientes y debes hacerlos coincidir en nombre con lo que le indicas a traefik
[Imagen: 3f517aae25ae9ea67477969aa763c5fb.jpg]
Buenos dias, lo de la propagacion en el transcurso de la noche ya podia acceder, los pines eran lo que esperaba.
Yo me cree unos certificados comodin con el tuto tuyo de certbot, esos puedo utilizarlos?, traefik usa el certificado y la llave, esos dos debo de nombrarlos con el nombre que me pones en la imagen?. Ya se van solucionando los problemas.

Gracias
  Responder
#15
Hola
Los nombres de los certificados han de coincidir en nombre y ruta con los que se indica en el archivo de configuración de traefik.

Los certificados los puedes obtener de varias fuentes. Una es letsencrypt, pero también puedes de comodo, …. Y de cloudflare.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#16
(16-05-2021, 12:43 PM)Ganekogorta escribió: Hola
Los nombres de los certificados han de coincidir en nombre y ruta con los que se indica en el archivo de configuración de traefik.

Los certificados los puedes obtener de varias fuentes. Una es letsencrypt, pero también puedes de comodo, …. Y de cloudflare.
Mi pregunta es, tienes tu traefik para que te genere los certificados o lo haces con otra herramienta como certbot y luego lo colocas en la carpeta certs para que traefik los  reconozca?. Los de cloudflare no puedo usarlo ya que cambie a mi servidor de dominio namesilo, o hay alguna manera de usarse?, a que te refieres cuando dices, "pero también puedes de comodo", es una web o como puedo crear unos para dominio y subdominio?.
Yo cree unos con el tutorial de certbot que publicaste, pero son los que puse en la carpeta certs, pero no veo que funcionen, entro a las web sin candadito, cuando abro los archivos tienen la acumulación de letras y números, quiere decir que esta correcto.
Me salta este error en traefik sobre los certificados: 
Los certificados de cliente lo tengo activo en cloudflare, lo revoco?, y el certificado universal o de perímetro. Lo desactivo?. puede esa ser la razon de que no me este funcionando los que tengo en traefik, es que no se por donde tirar para subsanar dicho problema tan importante en la web

Código:
time = "2021-05-16T10: 39: 35Z" level = error msg = "No se puede agregar el certificado /share/DockerVolumes/certs/cert1.pem para almacenar: no se puede generar el certificado TLS: tls: no se pudo encontrar ningún dato PEM en la entrada del certificado "tlsStoreNam defecto
  Responder
#17
No, traefik NO genera ceerrificados. Se los tienes que suministrar y el los usa para aplicarlos a las web que gestiona traefik.

Tienes que obtenerlos por ejemplo de Letsencrypt. De eso no te libras.
Pero obtienes como ventaja el usar un certificado para todas las webs que maneje traefik.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#18
(16-05-2021, 02:16 PM)Ganekogorta escribió: No, traefik NO genera certificados. Se los tienes que suministrar y el los usa para aplicarlos a las web que gestiona traefik.

Tienes que obtenerlos por ejemplo de Letsencrypt. De eso no te libras.
Pero obtienes como ventaja el usar un certificado para todas las webs que maneje traefik.
Segun unos tutoriales que estoy viendo, con unos parámetros en la configuración de traefik se pueden generar certificados y hacer que el mismo traefik te los renueve.
Para este yml que te dejo, para que veas como hacer que traefik de generes los certificados. 

Traefik, mi nuevo mejor amigo (parravidales.es)

Los de letsencrypt donde lo obtienes? 
Código:
version: '3.2'

services:
  traefik:
    # The official v2 Traefik docker image
    image: traefik:latest # v2.1
    container_name: "traefik"
    restart: always
    # Enables the web UI and tells Traefik to listen to docker
    command:
      #- --log.level=DEBUG
      - --api.dashboard=true
      - --api.insecure=true
      - --providers.docker=true
      - "--entrypoints.https.address=:443"
      - "--entrypoints.lan.address=:888"
      - "--certificatesResolvers.leresolver.acme.email=demo@parravidales.es"
      - "--certificatesResolvers.leresolver.acme.storage=acme.json"
      - "--certificatesResolvers.leresolver.acme.tlschallenge=true"
    ports:
      # The HTTPS port
      - "443:443"
      - "8008:888"
      - "8080:8080"
    volumes:
      # So that Traefik can listen to the Docker events
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./acme.json:/acme.json
    networks:
      - traefiknet

networks:
  default:
  traefiknet:
    external:
      name: traefiknet
  Responder
#19
Hola

Gracias por la aportación.

Recuerda que si activas cloudflare, los certificados los hacen ellos y no tienes que hacer nada en tu traefik, ya que cuando escribes tu dirección web realmente accedes primero a cloudflare.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder
#20
(17-05-2021, 07:38 AM)Ganekogorta escribió: Hola

Gracias por la aportación.

Recuerda que si activas cloudflare, los certificados los hacen ellos y no tienes que hacer nada en tu traefik, ya que cuando escribes tu dirección web realmente accedes primero a cloudflare.
Hola Ganekogorta efectivamente deberia ser asi, pero como puedes recordar no se porque no podria entrar en mis web de subdominios si gestionaba cloudflare mi dominio.
Ahora bien, he gestionado unos certificados con el tutorial tuyo de certbot el cual se descargo con exito, pero los pongo en la carpeta certs para que traefik los lea, pero sigo sin tener cifrado.

Queria comentarte algo, siguiendo buscando por internet sobre generar certificados comodin, me tope con esta web: Automatizando la gestión de los certificados HTTPS en un entorno Dockerizado con Let's Encrypt - Jesús Amieiro (jesusamieiro.com)

E
n donde el creador del post indica de instalar certbot en docker y con otros parametros obtendremos nuestros certificados, ademas de eso el creador del docker proporciona un script para automatizar la renovacion de dichos certificados.

Busque un poco de informacion de creador del docker a ver si tenia informacion mas reciente y la forma de crear el docker es otra ahora, te dejo aqui todo el material a ver si eres capas de hacer funcionar y automatizar la renovacion de los certificados, (claro esta, si quieres hacerlo). El docker en su version del creador lo estoy ejecutando y me funciono, ademas tiene la caracteristica de descargar los certificado en una carpeta persistente y tener mas a mano los archivos y no tener que usar una maquina virtual.


Te dejo la web para que le eches un vistazo y si quieres compartir la informacion una ves realizada:
GitHub - pierreprinetti/certbot: Dockerized HTTPS with Let's Encrypt


Tambien se puede incorporar con cualquier aplicación de docker de proxy inverso como ngnix
Utilice los certificados en el servidor

Gira tu proxy inverso favorito con algo como:

Código:
docker run \
    --name some-nginx \
    -v https-certs:/etc/nginx/certs:ro \
    -p 80:80 \
    -p 443:443 \
    --restart unless-stopped \
    -d nginx:mainline-alpine

Ejemplo de configuración para en su nginx en contenedores:

Código:
server {
    listen      443 http2;
    listen      [::]:443 http2;
    server_name example.com;

    ssl on;
    ssl_certificate     /etc/nginx/certs/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/certs/live/example.com/privkey.pem;

    [...]


Código:
example.com



Código:
Obtención de certificados
El punto de entrada del contenedor es literalmente de EFF. Todas las banderas y argumentos descritos en la documentación funcionarán aquí.certbot

Ejemplo: Desafío manual dns-01
Los ejemplos utilizan Podman. Sustituya al podman por si lo prefiere.docker

El resultado esperado es tener los certificados guardados en un volumen, de modo que se pueda montar fácilmente en el contenedor del servidor web:

podman volume create --name https-certs

Prepárese para editar manualmente su zona DNS con las instrucciones proporcionadas:

docker run --rm -it \
    -v https-certs:/etc/letsencrypt \
    quay.io/pierreprinetti/certbot certonly \
        --manual \
        --preferred-challenges=dns \
        -m me@example.com \
        --agree-tos \
        -d example.com \
        -d www.example.com

Recuerde sustituir con su propia dirección de correo electrónico para recibir notificaciones importantes sobre su certificado.me@example.com

Este mismo comando renovará los certificados, si se encuentran en el volumen adjunto.
  Responder




Usuarios navegando en este tema: 2 invitado(s)