Traefik: Configurar dns-01 challenge de let’s encrypt en OVH con Wildcards

Imagino que todo el mundo sabrá que let’s encrypt por fin admite certificados wildcard. Que es un certificado wildcard? pues un certificado único que vale para todos los subdominios. Ej: *.ichasco.com. De este modo, todos los subdominios de ichasco.com podrán utilizar el mismo certificado. Y como no podía ser de otro modo, Traefik también lo ha implementado en la versión 1.6. Por lo que ahora se pueden generar wildcards al vuelo. Cabe destacar que para usar esto, hay que hacer la validación por DNS y no por HTTP. En este post explicaré como hacerlo con OVH como proveedor de DNS.

Crear las Keys en OVH

Crear la aplicación en OVH:

https://eu.api.ovh.com/createApp/

Rellenar con los parámetros necesarios. En el Account ID poner el ID y no el correo.

Guardar las Application Key y Secret

Hacer un curl en una terminal para conseguir consumerKey. Sustituir por el que nos ha dado previamente en el paso anterior

Esto nos dará el consumerKey y una URL

Para validarlo, hay que abrir la URL en un navegador.

Y validar los datos. Otra vez ingresar con el ID y no con el correo

Con esto se conseguirá:

  • Application Key
  • Application Secret
  • Consumer Key

Una vez hecho esto, configurar Traefik para que utilice el challenge de dns

Y configurar las keys que previamente hemos obtenido de OVH en el docker-compose:

Una vez hecho esto, reiniciar traefik y viendo los logs, se puede comprobar que ha funcionado correctamente:

Certificados Wildcard

Como hemos dicho antes, traefik implementa el acme 2.0 que soporta wildcards a partir de la versión 1.6. Actualmente está en RC por lo que para usarla hay que forzarla en el docker-compose

Para que traefik pueda generar los certificados wildcard, hay que indicarle los dominios en el fichero de configuración

Y cuando se arranca traefik se puede ver como se crean los certificados

Y ya se pueden ver los certificados wildcard en las Webs

Tutorial para crear las Keys de OVH:
https://eu.api.ovh.com/g934.first_step_with_api

Info sobre traefik 1.6 y letsencrypt:
https://docs.traefik.io/v1.6/configuration/acme/

 

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *