Genere certificados HTTPS a través de acme.sh.

¿Qué es acme.sh?

acme.sh es un script Shell de código abierto que se utiliza para automatizar la generación y gestión de certificados HTTPS.

Instalar

curl https://get.acme.sh | sh -s [email protected]

Después de la instalación, acme.sh aparecerá en su directorio de inicio.

~/.acme.sh

Ejecute el siguiente comando para que las variables de entorno de acme.sh surtan efecto.

source ~/.basrc

Generar certificados

Antes de generar el certificado, acme.sh necesita verificar su propiedad del nombre de dominio. Hay varios modos de verificación de la siguiente manera:

Verificación HTTP

Apache

Si está utilizando un servidor Apache.

acme.sh --issue -d mydomain.com --apache

Servidor Nginx

Si está utilizando un servidor nginx.

acme.sh --issue -d mydomain.com --nginx

Agregue el archivo al directorio raíz del sitio web.

También puede indicarle a acme.sh el directorio raíz de su sitio web y acme.sh agregará automáticamente un archivo para su verificación.

acme.sh --issue -d mydomain.com --webroot /path-to-the-webroot-of-the-site

Verificación de DNS

Agregar registro manualmente

Ejecutar comando

acme.sh --issue --dns -d mydomain.com --yes-I-know-dns-manual-mode-enough-go-ahead-please

Entonces, acme.sh generará el registro de análisis correspondiente y lo mostrará. Sólo necesitas agregar este registro TXT en el panel de administración de tu dominio.

Luego regenere el certificado

acme.sh --renew -d mydomain.com --yes-I-know-dns-manual-mode-enough-go-ahead-please

Verifique a través de la API del proveedor de servicios DNS.

Este debería ser el modo de verificación más utilizado y recomendado. Tomando CloudFlare como ejemplo, consultehttps://github.com/acmesh-official/acme.sh/wiki/dnsapi para solicitar certificados de otros proveedores de servicios.

Solicite API.

Puede obtener su clave API global desde la página de perfil de Cloudflare, en la secciónSección de tokens de API. Haga clic en "Ver" junto a la clave API global, verifique su contraseña de Cloudflare y se la revelará. Es una cadena hexadecimal de 32 caracteres que debe proporcionar a acme.sh configurando la variable de entorno.CF_Key a su valor. También debes configurarCF_Email a la dirección de correo electrónico asociada con su cuenta de Cloudflare; esta es la dirección de correo electrónico que ingresa al iniciar sesión en Cloudflare. Por ejemplo:

export CF_Key="763eac4f1bcebd8b5c95e9fc50d010b4"
export CF_Email="[email protected]"

Generar certificado.

acme.sh --issue --dns dns_cf -d example.com -d '*.example.com'

Ver archivos de certificado

Una vez generado el certificado, puede acceder a ~/.acme.sh/mydomain.com_ecc para ver los archivos del certificado.fullchain.ceres el archivo de certificado ymydomain.io.key es el archivo de clave privada. Ambos son archivos de texto que se pueden cargar en i18n.so durante el proceso de configuración del sitio.

Problemas comunes durante el uso de acme.sh

CA

acme.sh ahora tiene como valor predeterminado ZeroSSL como CA, pero a menudo encuentra problemas de accesibilidad. Puede utilizar el siguiente comando para cambiar la CA a Let's Encrypt.

acme.sh --set-default-ca --server letsencrypt

Generar certificado de dominio comodín.

Suponiendo que deseas solicitar un certificado que sea aplicable aexample.comy*.example.com, puede utilizar el siguiente comando para generar un certificado de dominio comodín.

acme.sh -d example.com -d *.example.com

Renovación de certificado

Después de que acme.sh genere el certificado, agregará una tarea programada crontab para actualizar periódicamente el certificado. Puede utilizar el siguiente comando para ver la tarea programada y el contenido actualizado también se guarda en~/.acme.sh/mydomain.com_ecc.

crontab -e