0
votes

Trafik v2.0 avec lesencypt est incapable de générer un certificat pour les domaines

Je teste avec whoami et obtenez un problème générant les certificats.

Aucun certificat n'est généré dans le fichier ACME.JSON et les sites utilisent un certificat par défaut de Trafik considéré comme invalide par les navigateurs.

Voici l'erreur: p> xxx pré>

voici le fichier docker-compose.yml. Tout est à l'intérieur. Comme vous pouvez le constater, il s'agit d'un test de préparation d'un déploiement ultérieur. Pas un fichier de production réel.Je besoin de résoudre ce problème avant de pouvoir utiliser Trafik Server Wide ... P>

version: "3.3"

networks:
    # Allow the use of traefik in other docker-compose.yml files
    traefik:
        external: true

services:

  traefik:
    image: "traefik:v2.0"
    container_name: "traefik"
    command:
      # Only for development environment
      - "--log.level=DEBUG"
      - "--api.insecure=true"
      # Get Docker as the provider
      - "--providers.docker=true"
      # Avoid that all containers are exposed
      - "--providers.docker.exposedbydefault=false"
      # Settle the ports for the entry points
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web-secure.address=:443"
      # Settle the autentification method to http challenge
      - "--certificatesresolvers.myhttpchallenge.acme.httpchallenge=true"
      - "--certificatesresolvers.myhttpchallenge.acme.httpchallenge.entrypoint=web-secure"
      # Uncomment this to get a fake certificate when testing
      #- "--certificatesresolvers.myhttpchallenge.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
      # Settle letsencrypt as the certificate provider
      - "--certificatesresolvers.myhttpchallenge.acme.email=me@mail.com"
      - "--certificatesresolvers.myhttpchallenge.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    networks:
      - "traefik"
    volumes:
      # Store certificates in ./letsencrypt/acme.json
      - "./letsencrypt:/letsencrypt"
      # Connect to Doker socket
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  inner-whoami:
    image: "containous/whoami"
    container_name: "inner-whoami"
    networks:
      - "traefik"
    labels:
      - "traefik.enable=true"
      # Get the routes from http
      - "traefik.http.routers.inner-whoami.rule=Host(`inner-whoami.mysite.com`)"
      - "traefik.http.routers.inner-whoami.entrypoints=web"
      # Redirect these routes to https
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
      - "traefik.http.routers.inner-whoami.middlewares=redirect-to-https@docker"
      # Get the routes from https
      - "traefik.http.routers.inner-whoami-secured.rule=Host(`inner-whoami.mysite.com`)"
      - "traefik.http.routers.inner-whoami-secured.entrypoints=web-secure"
      # Apply autentificiation with http challenge
      - "traefik.http.routers.inner-whoami-secured.tls=true"
      - "traefik.http.routers.inner-whoami-secured.tls.certresolver=myhttpchallenge"


0 commentaires

3 Réponses :


0
votes

Avez-vous essayé avec votre vraie URL au lieu de mySite.com?


2 commentaires

OK, accès écriture pour Docker à - "./letsencrypt:/letsencrypt"?


Docker a créé le dossier alors je suppose oui. C'était sur la racine RW. J'ai essayé de le chier à Myuser. Cela n'a pas changé le comportement.



4
votes

Vous devez probablement changer le point d'entrée pour HTTP Challenge de Web-Fixe TO Web , I.E.:

- "--Certificatesresolvers.myhttpchallenge.acme.httpchallenge.entrypoint = Web"

ou utiliser TLS Challenge au lieu de:

- "--CertificatesResolvers.myhttpchallenge.acme.tlschallenge = true"


0 commentaires

1
votes

Avez-vous examiné le JSON dans le lien de la deuxième ligne de votre sortie d'erreur?

https://acme-v02.api.letsencrypt.org/acme/authz-v3/xxxxxxxxxx

Ce lien contient plus d'informations sur le défi qui ne passe pas. S'il se plaint d'un enregistrement non trouvé, je pourrais avoir une solution. Dans mon cas, j'avais besoin d'ajouter un enregistrement MX à mes paramètres DNS pour mon domaine. Sinon, certains serveurs DNS ne le ramasseraient pas. J'ai testé cela avec dig sous.mydomain.com @ 8.8.8.8 qui a donné un servfail sans l'enregistrement MX.


0 commentaires