• [^] # Re: utiliser une machine qui a acces à internet

    Posté par (site web personnel) . En réponse au message Traefik et tls pour réseau local. Évalué à 2.

    En fait non j'ai un domaine public en .fr et un domaine local. Sur mon DNS local j'ai une zone pour ma zone local.

    Pour le cas traefik et let's encrypt j'ai créé une zone pour mon domaine public qui contient les NS d'OVH (le domaine est hébergé par OVH).

    Dans le fichier zone il y a quelques CNAME et ensuite un

    *.dompublic.fr. A IP_SERVER_DOCKER
    De cette manière les utilisateurs de mon réseau local accède à un service docker par l'url : service.dompublic.fr

    Ils sont redirigés vers traefik et le service correspond grâce au label Host('service.dompublic.fr'). Jusque là tout est ok, sauf que je n'arrive pas à faire en sorte que traefik créé le certificat lorsque je passe en https. Pourtant j'ai ajouté l'enregistrement TXT acme-challenge, j'ai créé les clés d'accès à l'API ovh pour que traefik communique directement (j'ai testé ces même codes en php est cela me créé bien les enregistrements dans le dns d'ovh).

    Dans les logs de traefik j'ai

    traefik | time="2021-10-13T17:19:06+02:00" level=debug msg="legolog: [INFO] [password.dompublic.fr] acme: Waiting for DNS record propagation."
    traefik | time="2021-10-13T17:19:16+02:00" level=debug msg="Delaying 5000000000 rather than validating DNS propagation now." providerName=le.acme
    traefik | time="2021-10-13T17:19:21+02:00" level=debug msg="legolog: [INFO] [password.dompublic.fr] acme: Waiting for DNS record propagation."
    traefik | time="2021-10-13T17:19:31+02:00" level=debug msg="legolog: [INFO] [password.dompublic.fr] acme: Cleaning DNS-01 challenge"
    traefik | time="2021-10-13T17:19:35+02:00" level=debug msg="legolog: [INFO] Deactivating auth: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/698992128"
    traefik | time="2021-10-13T17:19:35+02:00" level=error msg="Unable to obtain ACME certificate for domains \"password.dompublic.fr\": unable to generate a certificate for the domains [password.dompublic.fr]: error: one or more domains had a problem:\n[password.dompublic.fr] time limit exceeded: last error: NS dns11.ovh.net. returned NXDOMAIN for _acme-challenge.password.dompublic.fr.\n" providerName=le.acme routerName=password@docker rule="Host(`password.dompublic.fr`)"
    

    Et bien sûr rien côté dns ovh.

    /etc/traefik/traefik2.yml

    global:
     sendAnonymousUsage: false
     checkNewVersion: false
    api:
     insecure: true
     dashboard: true
     debug: true
    log:
     # filePath: "/var/log/traefik/applog.log"
     # format: json
     level: DEBUG 
    providers:
     docker:
     endpoint: unix:///var/run/docker.sock
     exposedByDefault: false
     network: traefik
    entryPoints:
     web:
     address: ":80"
     websecure:
     address: ":443"
    certificatesResolvers:
     le:
     acme:
     email: contact@dompublic.fr
     caServer: https://acme-staging-v02.api.letsencrypt.org/directory
    # prod caServer: https://acme-v02.api.letsencrypt.org/directory
     storage: /letsencrypt/acme.json
     dnsChallenge:
     provider: ovh
     delayBeforecheck: 5 
     resolvers:
     - 8.8.8.8
     - 8.8.4.4
    

    docker-compose.yml de traefik

    version: '3.3'
    services:
     traefik:
     image: traefik:latest # The official Traefik docker image
     container_name: traefik
     restart: always
     ports:
     - "80:80" # The HTTP port
     - "8080:8080" # The Web UI (enabled by --api)
     - "443:443"
     volumes:
     - /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events
     - /etc/localtime:/etc/localtime:ro
     - /etc/timezone:/etc/timezone:ro
     - /etc/traefik/traefik2.yml:/etc/traefik/traefik.yml:ro
     - /etc/traefik/letsencrypt/:/letsencrypt/
     environment:
     - "OVH_ENDPOINT=ovh-eu"
     - "OVH_APPLICATION_KEY=xxx"
     - "OVH_APPLICATION_SECRET=xxxx"
     - "OVH_CONSUMER_KEY=x"
     - "OVH_PROPAGATION_TIMEOUT=300"
     - "OVH_POLLING_INTERVAL=10"
     networks:
     - traefik
    networks:
     traefik:
     external: true
    

    docker-compose.yml de vaultwarden

    version: '3.3'
    services:
     password:
     image: vaultwarden/server:latest
     container_name: password
     restart: always
     labels:
     - "traefik.enable=true"
     - "traefik.http.routers.password.rule=Host(`password.dompublic.fr`)"
     - "traefik.http.routers.password.entrypoints=websecure"
     - "traefik.http.routers.password.tls.certresolver=le"
     networks:
     - traefik
     volumes:
     - /sql/vaultwarden/prod:/data/
    networks:
     traefik:
     external: true
    

    Si tu as une idée de la provenance du problème je suis preneur.

    Born to Kill EndUser !