Diferencia entre revisiones de «Wildcard con Cerbot y Let's Encrypt»
m (Nacho trasladó la página Wildcard con Cerboot y Let's Encrypt a Wildcard con Cerbot y Let's Encrypt) |
|
(Sin diferencias)
|
Revisión del 11:09 9 may 2020
La verdad que la automatización de Cerbot para generar certificados para todos los dominios que están alojados en un servidor es increíble, solo tienes que tener configurado los VirtualHost para cada dominio.
Los dominios estén apuntado a la ip de tu servidor en gestor de hosting y ejecutas Cerbot el se ocupa de todo hasta de redireccionarte htpp a https.
Pero si interesa tener uno o varios dominios o Subdominio con el mismo certificado e incluso no se cual van a ser los nombres de los subdominios, como es el caso de las maquinas que suelo administrar, pues necesito aplicar Wildcard en los certificado, valla lo que viene siendo un comodín.
Los pasos son sencillos, pero requieren un cierto proceso.
Primero entramos al servidor donde estarán alojados los dominios, no es necesario configurar los VirtualHost ya que realizaremos la petición para generar:
privkey.pem
la llave privada para el certificado.
fullchain.pem
el certificado que se usara en el servidor web
chain.pem
OCSP para Nginx
cert.pem
Según Cerbot no usar, ver documentación.
Para Apache2 y ESXi solo necesito los dos primeros.
Vamos a crear un certificado para eldomicio.com y Wildcard para el subdominio aqui.eldominio.com así que cualquier nombre del subdominio *.aqui.eldominio.com podrá usar el mismo certificado.
certbot certonly --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory --manual-public-ip-logging-ok -d *.aqui.eldominio.com -d eldominio.com
Cerbot procesa nuestra petición y se mantiene a la espera a que nosotros realicemos una nueva zona con el nombre _acme-challenge.aqui.eldominio.com en nuestro gestor de hosting y le asignemos el Tipo TXT(Text) con la cadena Brlks-BmN0Y7TZo2jBcd7Z7UZalqRvgHA8bokUVX1dY.
Obtaining a new certificate Performing the following challenges: dns-01 challenge for '''aqui.eldominio.com''' dns-01 challenge for '''eldominio.com''' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name '''_acme-challenge.aqui.eldominio.com''' with the following value: '''Brlks-BmN0Y7TZo2jBcd7Z7UZalqRvgHA8bokUVX1dY''' Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue
Dependiendo del Hosting eso puede tardar un pelin, pelin mucho, pero lo normal que que sea rápido, pueda que tengamos que asignar muchos registros uno por cada dominio o subdominio, a si que antes de pulsar enter y que Cerbot proceda a crear los certificados, seria conveniente comprobar que los record de los dns esta creados y propagados, podemos buscar cualquier servicio de lookup dns record mxtoolbox
Solo tenemos que introducir _acme-challenge.aqui.eldominio.com seleccionar el timpo TXT Lookup, si devuelve la cadena de texto, es que ya esta podemos pulsar enter.
Congratulations! Your certificate and chain have been saved at: '''/etc/letsencrypt/live/aqui.eldominio.com/fullchain.pem''' Your key file has been saved at: '''/etc/letsencrypt/live/aqui.eldominio.com/privkey.pem''' Your cert will expire on 2020-08-06. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by:
Comprobación
Podemos comprobar que los certificados están funcionando sin la necesidad de instalarlos en sus respectivos VirtualHost, simplemente debemos crear el subdominio en el gestor de hosting asignarle tipa A la IP de nuestro servidor y escribir lo siguiente
openssl s_server -accept 8888 -WWW -cert /etc/letsencrypt/live/host1.aqui.eldominio.com/fullchain.pem -key /etc/letsencrypt/live/host1.aqui.eldominio.com/privkey.pem
Ahora abrimos un navegador...
https://host1.aqui.eldominio.com
El candado esta, y podemos comprobar que el certificado esta funcionado.