
Supongo que me falta algo, porque cada vez que intento cargar contenido presionando el subdominio en mi navegador, dice "no seguro", a pesar de que seguí los pasos siguientes después de ejecutar sudo certbot --nginx
sin errores.
Aquí está mi archivo de configuración para vhost:
server {
listen 80;
listen [::]:80;
root /var/www/lms/;
server_name lms.blainelafreniere.io;
location / {
try_files $uri /index.html;
}
}
server {
server_name lms-api.blainelafreniere.io;
location / {
proxy_pass http://127.0.0.1:3001;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/lms-api.blainelafreniere.io/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/lms-api.blainelafreniere.io/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = lms-api.blainelafreniere.io) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name lms-api.blainelafreniere.io;
return 404; # managed by Certbot
}
No sé si esto importa, pero... el dominio raíz principal, blainelafreniere.io apunta a un VPS completamente diferente. Mi dominio blainelafreniere.io está protegido con su propio certificado SSL y actualmente estoy intentando generar un nuevo certificado SSL solo para el subdominio, en este caso, lms-api.blainelafreniere.io.
blainelafreniere.io => servidor A lms.blainelafreniere.io, lms-api.blainelafreniere.io => servidor B
¿Es necesario utilizar también el certificado del dominio principal para proteger los subdominios? ¿O puedo generar un nuevo certificado por subdominio?
Respuesta1
Con elDesafío HTTP-01solo puede obtener certificados para nombres de host específicos (posiblemente con múltiples SAN). Según la transparencia del certificadoregistros parablainelafreniere.io
no tiene un certificado comodín para *.blainelafreniere.io
, por lo que ni siquiera podría usar el mismo certificado para sus subdominios. (Es posible obtener certificados comodín conDesafío DNS-01, pero eso no es necesario ni siquiera óptimo para este caso).
Los registros también indican que Let's Encrypt ha emitido certificados exitosamente para sus dos subdominios ( lms.api
y lms
), yesa es la forma correcta de hacer esto.
Para las renovaciones automáticas, debe mantener http://example.com/.well-known/acme-challenge/
accesible y atendiendo la ubicación especificada en la configuración de Let's Encrypt/Certbot (por ejemplo, en /etc/letsencrypt/renewal/
).
Actualmente, el servidor 34.200.239.16
no responde en absoluto a la solicitud HTTPS. Esto no es un problema con los certificados; O tu Nginx no está escuchando en el puerto 443 o hay algún firewall que lo bloquea:
$ dig lms.blainelafreniere.io +short
34.200.239.16
$ dig lms-api.blainelafreniere.io +short
34.200.239.16
nc 34.200.239.16 443 -nvvv
(UNKNOWN) [34.200.239.16] 443 (https) : Connection timed out
sent 0, rcvd 0