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.cer
es 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.com
y*.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