Documentación
Confconsole - Let's Encrypt
Índice
Sinopsis
Confconsole Let's Encrypt plugin proporciona una manera sencilla de obtener un certificado TLS/SSL firmado por CA libre a través de Let's Encrypt. HTTP-01 y DNS-01 "desafía" métodos para validar su control del (sub)dominio(s) que usted está registrando.
Los desafíos HTTP-01 son alojados por nuestro mini servidor web personalizado a través del puerto 80. Si el puerto 80 ya está en uso, el servidor web predeterminado se detiene temporalmente. DNS-01 se cumplen los desafíos estableciendo temporalmente un registro TXT DNS a través de un prestado de DNS API.
Por defecto Confconsole admite registrar un dominio con hasta 4 subdominios, en un solo certificado que el servidor web existente utilizará en todos los puertos https. Así que Adminer, etc también utilizará el mismo certificado, como Webmin (a través de que está construido en miniservador). También se admiten certificados Wildcard, pero requieren validación DNS-01 (no compatible con HTTP-01).
Más allá de la configuración inicial a través de Confconsole, no se requiere una configuración adicional de su servidor. Los escenarios comunes de uso deben "sólo trabajar". Aún son posibles más infrecuentes y/o complejas, pero pueden requerir configuración adicional.

Por defecto, Confconsole debe "sólo trabajar" con estos servidores/servidores de laboratorio:
- Apache
- LigHTTPd
- Nginx
- Tomcat
- Webmin
Si desea ver soporte para servidores alternativos, por favor, publique en el foros, y/o abrir una cuestión sobre nuestro rastreador Si estás abierto a contribuir al código, eso es calurosamente bienvenido.
Cert auto renovación
La selección de esta opción hace que el trabajo de renovación de certificados TLS/SSL por defecto (/etc/cron.daily/confconsole-dehydrated) ejecutable (o no). Sólo los archivos ejecutables dentro de /etc/cron.daily se activan automáticamente por cron.
Nota: Hasta que obtenga su certificado inicial (que también configura deshidratado), el trabajo de cron no existe en el directorio cron.daily. Esto asegura que el trabajo de cron no puede ser habilitado hasta que se haya ejecutado el deshidratado deshidratado (y, con suerte, se ha generado un certificado Let's Encrypt TLS/SSL).
Nota: Para generar certificados de comodín con la integración TurnKey Let's Encrypt, necesitará utilizar validación DNS-01. La validación DNS-01 no está disponible antes de Confconsole v2.1 (primero aparece en TurnKey v18.0).
Para más información sobre lo que el trabajo de cron realmente hace, por favor vea Detalles del trabajo de Cron abajo.
Obtenga certificado
La selección de esta opción le permitirá establecer un solo nombre de dominio completamente calificado (FQDN) para su servidor.
Otra opción es establecer un dominio raíz y hasta 4 subdominios separados.
Si desea establecer más de un dominio raíz y/o más de 4 subdominios, se requiere configuración manual. Avanzadas - uso con múltiples nombres de dominio abajo. Si tiene otro escenario no cubierto, por favor regístrese y poste en los foros.
Obtener un certificado - HTTP-01
Esta opción validará su propiedad de los dominios mediante la búsqueda de registros públicos DNS de los dominios y comprobar que los datos de desafío apropiados se están utilizando a través de puerto 80 de su servidor.
Requisitos:
- Puerto 80: puerto 80 (puerto de vainilla HTTP por defecto) debe abrirse en su servidor y estar disponible públicamente
- Registros DNS: registros autorizados 'A'/'AAAA' o 'CNAME' que resuelven a su servidor (para todos los dominios/subdominios que usted está recibiendo certificaciones para)
Puerto 80: Más allá del puerto siendo accesible externamente, no se requieren cambios en el configuración existente del servidor web. config del servidor web redireccionando todo el tráfico de HTTP a HTTP será ignorado, así que no necesita ser cambiado.
DNS record(s): Si acaba de hacer los cambios necesarios con su registrador DNS, por favor tenga en cuenta que puede tomar tiempo para que los registros DNS se propagan públicamente. Para comprobar que sus registros DNS están disponibles públicamente, por favor, compruebe vía 'dig'. Por ejemplo, Google está libre en línea Herramienta de excavación.
Nota importante: Por favor, asegúrese de que tiene sus servidores de nombres de dominio correctamente configurados y el puerto 80 está disponible públicamente antes de ejecutar esto. Si no lo hace, los desafíos Let's Encrypt fallarán (así que no recibirás un certificado). Los fallos repetidos pueden hacer que su servidor sea bloqueado (por una semana) de otros intentos.
Obtener un certificado - DNS-01
Esta opción validará su propiedad de los dominios mediante la búsqueda de un registro público especial DNS TXT del dominio raíz y garantizando que contenga el reto adecuado no se requiere acceso externo a su servidor, por lo que esta opción es ideal para servidores internos/intranet. Esta opción también admite certificados de comodín (por ejemplo, '*.example.com').
Requisitos:
- Proveedor DNS compatible: su dominio debe estar registrado con un proveedor de apoyo
- Credenciales: credenciales de usuario y/o llave API (como relevante) para acceder a API del proveedor de DNS
Proveedor DNS compatible: El registro TXT DNS necesario para crearse con su registrador DNS. Dehhidratado que a su vez aprovecha dns-lexicon crear el registro TXT DNS requerido. Como tal, su dominio debe estar registrado con un proveedor de apoyo.
Credenciales: Para crear el registro DNS requerido, es necesario acceder a su proveedor DNS (a través de API). Cada proveedor tiene diferentes requisitos, por lo que consulte al proveedor dns-lexicon docsEn esa página de doc, encuentre a su proveedor y haga clic en el enlace. Eso debe llevarle a la sección relevante de esa página. Los campos relevantes se formatean como puntos de punto, con la clave señalada en la fuente monoespacial, color naranja, con una explicación después.
Tenga en cuenta que el archivo de configuración puede contener comentarios (líneas que comienzan con un prefijo '#') que se ignorará. Vea algunos ejemplos de configuración a continuación:
AWS Route53: (lexicon docs)
# AWS Route53 example auth_access_key: YOUR_AWS_ACCESS_KEY auth_access_secret: YOUR_AWS_ACCESS_SECRET private_zone: False # generally you'll always want public zone zone_id: YOUR_ZONE_ID
Cloudflare: (lexicon docs)
# Cloudflare example 1 - using global api key auth_username: YOUR_CF_USERNAME auth_token: YOUR_CF_API_TOKEN
O
# Cloudflare example 2 - using unscoped API token auth_token: YOUR_CF_UNSCOPED_API_TOKEN
O
# Cloudflare example 3 - using scoped API token auth_token: YOUR_CF_SCOPED_API_TOKEN zone_id: YOUR_CF_ZONE_ID
Para otros proveedores de DNS, consulte los documentos pertinentes haciendo clic en su proveedor en la lista en la parte superior de la lista DNS Lexicon provider doc page.
Certificados de regata especial
Tenga en cuenta que la generación de un Certificado de Wildcard sólo está disponible cuando se utiliza el método DNS-01 de desafío.
Un certificado de comodín, es un certificado especial que se genera para un dominio que comienza con un asterisco: '*', por ejemplo '*.example.com'. Este certificado especial que se igualará a cualquier subdominio (dentro de límites). '*.example.com' cubrirá sitios con dominios como 'www.example.com', 'blog.example.com' y 'docs.example.com'. Sin embargo el mismo cert no funcionará con sub-sub-dominios, por ejemplo. a '*.example.com' certificado no funcionará con 'www.docs.example.com'. Para 'www.docs.example.com' para trabajar con un certificado de comodín, usted necesita tener un certificado para '*.docs.example.com'.
Es posible registrar sub dominios específicos al mismo tiempo que registrar un dominio comodín, sin embargo, el dominio comodín debe venir primero. También se permiten múltiples dominios de Wildcard.
Además, al registrar un dominio comodín, Dehydrated necesita darle un alias. Verás instrucciones en línea para separar el dominio(s) con un 'conejérte' seguido por el alias. Puedes hacerlo si lo deseas, pero Confconsole lo ignorará y generará su propio alias.
Las características más avanzadas soportadas al usar Aliases con Dehydarated requieren utilizarlo independiente.
Nota importante: Por favor, asegúrese de que tiene su información del registro DNS correcta. Los datos de autenticación incorrectos causarán que los desafíos Let's Encrypt colapse (así que no obtendrá un certificado). Los fallos repetidos pueden hacer que su servidor sea bloqueado (por una semana) de otros intentos.
Conseguir un certificado - Detrás de las escenas
El proceso va así:
- Confconsole Let's Encrypt plugin escribe el dominio (y subdominios) a /etc/dehydrated/confconsole.domains.txt
- Confconsole llama deshidratado-wrapper
- deshidratado-wrapper para el servidor web escuchar en el puerto 80
- cheques deshidratados de deshidratados para /etc/dehydrated/confconsole.config (archivo de archivo de archivo); si no existe, lo copia el archivo predeterminado de: /usr/share/confconsole/letsencrypt/dehydrated-confconsole.config
- cheques deshidratados de deshidratados para /etc/dehydrated/confconsole.hook.sh (hook script); si no existe, lo copia el archivo predeterminado de: /usr/share/confconsole/letsencrypt/dehydrated-confconsole.hook.sh
- cheques deshidratados de deshidratados para /etc/cron.daily/confconsole-dehydrated ( script cron); si no existe, lo copia el archivo predeterminado de: /usr/share/confconsole/letsencrypt/dehydrated-confconsole.cron
- deshidratado-destructor llama deshidratado, pasando confconsole.config, confconsole.hook.sh & confconsole.domains.txt (todos almacenados dentro /etc/dehydrated/)
- contactos deshidratados Let's Encrypt y consigue el reto (para probar que controla el dominio)
- Mientras que acoge el desafío, el adiestramiento de agua redirige temporalmente todo el tráfico web excepto el desafío (es decir, 304 - movido temporalmente) a la raíz de la web. Se muestra un mensaje "Under Maintence" simple. Para proporcionar una página de html personalizada, por favor ver Mensaje avanzado - personalizado de la maintence abajo.
- a través del script de gancho, deshidratado sirve Let's Encrypt desafíos usando el servidor de agua adicional (servidor web pitón minimalista)
- cuando se hace, add-water es asesinado (a través de script gancho)
- deshidratado escribe certificado para /etc/ssl/private/cert.pem (a través del script gancho); certificaciones originales generadas por deshidratados permanecen en /var/lib/dehydrated/certs/DOMAIN
- manos deshidratadas de nuevo a la deshidratada
- deshidratado-destructor descansa en el servidor web
- deshidratado-retornillar retorcidos stunnel (así que Webmin & Webshell también utilizar nuevo cert)
- manos deshidratadas deshidratadas de nuevo a confconsole
Detalles del trabajo de Cron
El trabajo de cron comprueba la fecha de vencimiento del certificado predeterminado (/etc/ssl/private/cert.pem) y si expirará dentro de 30 días o menos, se ejecuta deshidratado-wrapper (utilizando el interruptor --force).
Mensaje avanzado - personalizado de la maintence
Como se ha señalado, mientras está sirviendo a los desafíos, add-water redirigirá todas las otras urls a la raíz web. Por defecto mostrará un simple mensaje "Mantenimiento" a través de un índice básico.html.
Si desea mostrar un mensaje personalizado, puede añadir un índice personalizado.html a /var/lib/confconsole/letsencrypt/. E.g. para copiar en el predeterminado y luego ajustarlo:
mkdir -p /var/lib/confconsole/letsencrypt/
cp /usr/share/confconsole/letsencrypt/index.html \
/var/lib/confconsole/letsencrypt/index.html
add-water servirá /var/lib/confconsole/letsencrypt/index.html si existe, o de otra manera se caerá de nuevo a la predeterminada.
Nota: El archivo personalizado debe ser nombrado index.html y contienen sólo HTML válido (y CSS). PHP u otros lenguajes secundarios del servidor no son compatibles. Insertado (es decir, "inline") JavaScript también es compatible con el lado del cliente procesado.
Avanzadas - uso con múltiples nombres de dominio
El plugin interactivo Confconsole solo admite un solo dominio con hasta 4 subdominios. Sin embargo, el deshidratado-wrapper puede manejar múltiples dominios de raíz, además de múltiples subdominios. Para apoyar que necesitará realizar ajustes de configuración manualmente en varios lugares:
- añadir dominios adicionales a /etc/dehydrated/confconsole.domains.txt
- asegurar que cada línea comience con el dominio base, seguido de una lista separada del espacio de cualquier subdominio.
- WARNING: Si vuelve a ejecutar el plugin Let's Encrypt de confconsole, ¡se eliminarán sus dominios adicionales personalizados!
- ajuste sus hosts virtuales de servidor web para utilizar los certificados pertinentes en /var/lib/dehydrated/certs/DOMAIN. Cada dominio tendrá su propio subdirectorio bajo /var/lib/dehydrated/certs/.
- Por defecto, el último dominio (y cualquier subdominio) configurado, será el que funcionará para Webmin & Webshell (y Adminer, si está incluido). Para cambiar este comportamiento, puede ajustar el script de gancho, o simplemente reajustar el orden de sus dominios y poner el que desea Webmin & Webshell disponible desde, último.
- Nota: el trabajo de cron sólo comprueba la expiración de /etc/ssl/private/cert.pemAsí que si ajustas el script de gancho para ya no actualizar /etc/ssl/private/cert.pem, también necesitará ajustar el trabajo de cron para comprobar la expiración de un certificado que está actualizando. Si no lo hace, se producirán actualizaciones diarias de certificados, que pueden bloquear temporalmente su servidor para acceder a los servidores de Encrypt.