
Acho que deve estar faltando alguma coisa, porque toda vez que tento carregar conteúdo acessando o subdomínio no meu navegador, aparece "não seguro", embora eu tenha seguido as etapas seguintes após a execução sudo certbot --nginx
sem erros.
Aqui está meu arquivo de configuração para o 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
}
Não sei se isso importa, mas... o domínio raiz principal, blainelafreniere.io, está apontando para um VPS totalmente diferente. Meu domínio blainelafreniere.io é protegido com seu próprio certificado SSL e atualmente estou tentando gerar um novo certificado SSL apenas para o subdomínio, neste caso, lms-api.blainelafreniere.io.
blainelafreniere.io => servidor A lms.blainelafreniere.io, lms-api.blainelafreniere.io => servidor B
O certificado do domínio principal também precisa ser usado para proteger subdomínios? Ou posso gerar um novo certificado por subdomínio?
Responder1
Com oDesafio HTTP-01você só pode obter certificados para nomes de host especificados (possivelmente com vários SAN). De acordo com a transparência do certificadoregistros parablainelafreniere.io
você não tem um certificado curinga para *.blainelafreniere.io
, então não pode nem usar o mesmo certificado para seus subdomínios. (A obtenção de certificados curinga é possível comDesafio DNS-01, mas isso não é necessário nem ideal para este caso.)
Os logs também informam que Let's Encrypt emitiu certificados com sucesso para ambos os seus subdomínios ( lms.api
e lms
) eessa é a maneira correta de fazer isso.
Para as renovações automáticas você deve manter http://example.com/.well-known/acme-challenge/
acessível e servindo o local especificado na configuração do Let's Encrypt / Certbot (por exemplo, em /etc/letsencrypt/renewal/
).
Atualmente, o servidor 34.200.239.16
não está respondendo à solicitação HTTPS. Isto não é um problema com os certificados; ou o seu Nginx não está escutando na porta 443 ou há algum firewall bloqueando-o:
$ 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