Ssl letsencrypt
De MediaWiki - iCluster
Sumario
Let's Encrypt
Let's Encrypt es una autoridad de certificación abierta, automatizada y gratuita.
Puedes obtener mas información en https://letsencrypt.org/
Obtención de certificados usando Docker
Para la obtención automática de certificados SSL para los servicios de iCluster usamos la imagen linuxserver/letsencrypt, repo: https://hub.docker.com/r/linuxserver/letsencrypt/
Servidor Municipalidades (Aplicaciones)
Ejecutar en la carpeta root y como súper usuario, además considerar todos los dominios/subdominios presentes en la máquina
docker container run --cap-add=NET_ADMIN -v "$PWD"/certificados:/config -e PGID=0 -e PUID=0 -e EMAIL=contacto@icluster.cl -e URL=icluster.cl -e SUBDOMAINS=bpm,bigdata,bigdata-bpm,middleware,admin,munisoft,ciudadanos,soporte,wiki,laflorida -e VALIDATION=http -p 80:80 -p 443:443 -e TZ=America/Santiago -e ONLY_SUBDOMAINS="true" linuxserver/letsencrypt:140
Servidor iCluster (Website)
Ejecutar en la carpeta root y como súper usuario, además considerar todos los dominios/subdominios presentes en la máquina
docker container run --cap-add=NET_ADMIN -v "$PWD"/certificados:/config -e PGID=0 -e PUID=0 -e EMAIL=contacto@icluster.cl -e URL=icluster.cl -e SUBDOMAINS=www -e VALIDATION=http -p 80:80 -p 443:443 -e TZ=America/Santiago linuxserver/letsencrypt:140
Consideraciones importantes |
---|
Nótese que en la máquina de aplicaciones, no existe un dominio, solo subdominios, por cuanto la opción ONLY_SUBDOMAINS está seteada en true |
Docker img, esta imagen docker requiere el uso del puerto 80 y 443, para la validación de los certificados correspondientes, por cuanto esos puertos deben estár disponibles. |
Instalación de certificado en servidor NGINX (docker img nginx:1.13)
archivos de configuración de vhost en /etc/nginx/conf.d/
- Bloque de redireccion http to https + certificados ssl
server { listen 80; server_name example.com; return 301 https://$server_name$request_uri; } server { server_name example.com; listen 443 ssl; ssl_certificate PATH_TO/fullchain.pem; ssl_certificate_key PATH_TO/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; location / { ... } }