Certbot

Los parámetros del comando certbot son los siguientes:

  • certonly: obtiene o renueva un certificado, pero no lo instala.
  • manual: obtiene el certificado de forma interactiva.
  • preferred-challenges=dns: es la forma en la que le indico a Let’s Encrypt que controlo en dominio (con DNS). Para ello me pedirá que cree un registro DNS de tipo TXT en mi dominio.
  • email: dirección de correo electrónico para notificaciones importantes relacionadas con el certificado.
  • server: el servidor de Let’s Encrypt contra el que se ejecutarán todas las operaciones.
  • agree-tos: acepto los términos de servicio de Let’s Encrypt.
  • d: dominio para el que quiero obtener el certificado. Si lleva un asterisco, va a ser wildcard.
  • dry-run:
  • register-unsafety-without-email

Solicitar certificado para un equipo

Para solicitar un certificado en pruebas para un equipo en modo automático y que no pregunte nada. Ideal para lanzar en scripts.

certbot certonly -d midominio.es --noninteractive --standalone --dry-run --agree-tos --register-unsafety-without-email

Solicitar un certificado wildcard

Para solicitar un certificado en pruebas en modo wilcard

certbot certonly --manual --preferred-challenges=dns --email admin@midominio.es --server https://acme-staging-v02.api.letsencrypt.org/directory --agree-tos -d *.midominio.es

Configurar un servidor nginx

Con este comando nos va a configurar el servidor de nginx para soportar los certificados de let´s encrypt

certbot --nginx 

Ejemplo tarea de renovación en cron

Ejemplo de una tarea renovación del certificado usando un servidor proxy

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && export https_proxy=http://192.168.100.100:8080 && certbot -q renew