Uso de acme.sh para la automatización de certificados de dominio (Docker en Synology)
En este artículo, se describe cómo utilizar la imagen de Docker de acme.sh para lograr la automatización de la solicitud y renovación de certificados de dominio.
acme.sh es capaz de generar certificados gratuitos desde Let's Encrypt y es compatible con despliegues en Docker. Admite dos métodos de validación de dominio: HTTP y DNS, incluyendo modos manuales, automatizados y alias de DNS, lo que facilita su implementación en diversos entornos y necesidades. También permite la solicitud de certificados individuales, certificados wildcard y la renovación automática de los mismos, además de su despliegue en proyectos.
Preparación del API de DNS
En este artículo, se utiliza Tencent Cloud como ejemplo para la solicitud de un API de DNS. Para otras plataformas de resolución, consulte la documentación oficial de dnsapi.
Primero, abra DNSPOD, haga clic en la esquina superior derecha en su avatar y seleccione "Gestión de Claves".
Luego, cree una nueva clave y copie tanto el ID como el Token.
Implementación en Docker en Synology
Este tutorial se centra en el modo daemon de Docker, que mantiene el contenedor en ejecución continuamente y automatiza la renovación de los certificados cuando están a punto de expirar.
Creación de una carpeta de configuración
Primero, cree la carpeta /docker/acme.sh
y luego cree manualmente un archivo account.conf
:
A continuación, edite este archivo y agregue manualmente las siguientes líneas:
Luego, guarde y cierre el archivo.
Descarga de la imagen y configuración del contenedor
Abra el paquete Docker de Synology, descargue la imagen neilpang/acme.sh
, luego haga doble clic para iniciarla y acceda a "Configuración Avanzada".
En la página "Volúmenes", configure la carpeta que desea montar haciendo clic en "Agregar carpeta" y seleccione la ruta local /docker/acme.sh
, con la ruta de montaje como /acme.sh
(predeterminada e inmutable):
En la página "Red", marque la casilla "Usar la misma red que el anfitrión de Docker".
A continuación, vaya a la página "Entorno" e introduzca el comando daemon
en el cuadro "Comando":
Luego, cree y ejecute el contenedor. Haga doble clic en el contenedor en ejecución, vaya a la página "Terminal" y haga clic en "Iniciar por comando", escriba sh
y confirme.
Ejecute el siguiente comando para la actualización automática:
Luego, ejecute el siguiente comando para solicitar el certificado:
Donde dns_dp
representa Tencent Cloud DNSPod. Si está utilizando Alibaba Cloud, especifique dns_ali
, o dns_cf
para Cloudflare, u otro método según lo indicado en la documentación oficial de dnsapi. Además, *.wiki-power.com
denota la solicitud de un certificado wildcard. Si necesita solicitar múltiples dominios al mismo tiempo, puede hacerlo de la siguiente manera:
acme.sh --issue --dns dns_dp -d aaa.com -d *.aaa.com -d bbb.com -d *.bbb.com -d ccc.com -d *.ccc.com
En el modo daemon, acme.sh renovará automáticamente los certificados cada 60 días.
Generación de certificados
Si todo va según lo planeado, podrás encontrar los archivos dominio.cer
y dominio.key
dentro de la carpeta con el nombre del dominio en docker/acme.sh/
, los cuales corresponden al certificado y la clave, respectivamente. Estos archivos podrán ser copiados a la ubicación donde los necesites.
Referencias y Agradecimientos
Dirección original del artículo: https://wiki-power.com/ Este artículo está protegido por la licencia CC BY-NC-SA 4.0. Si desea reproducirlo, por favor indique la fuente.
Este post está traducido usando ChatGPT, por favor feedback si hay alguna omisión.