Estou usando letsencrypt SSL. Quando acesso o site com domínio.com, ele é redirecionado parahttps://domínio.commas eu querohttps://www.domínio.com!
Adicionei www como alias para domain.com no painel DNS para acessar o site com www. mas agora estou recebendo redirecionamento duplo.
Primeiro redirecionamento: domínio.com para https:// domínio.com, Segundo redirecionamento: https:// domínio.com para https:// www.domínio.com
Quero conseguir isso em um único redirecionamento 301. já tentei várias soluções fornecidas em SF. mas não funcionou. Alguém tem ideia?
Responder1
Supondo que você tenha acesso à configuração do nginx e seu certificado letsencrypt inclua domínio.com e www.domínio.com, algo assim deve funcionar:
server {
listen 80;
server_name www.domain.com;
return 301 https://www.domain.com$request_uri;
}
server {
listen 80;
listen 443 ssl;
server_name domain.com;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
return 301 https://www.domain.com$request_uri;
}
server {
listen 443 ssl;
server_name www.domain.com;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
# the rest of your config
}
Acredito que o certificado SSL precise incluir ambos os domínios porque no caso de solicitações parahttps://domínio.como handshake SSL para domínio.com ocorre antes do redirecionamento 301 ser acionado.
Suponho que você também possa ter certificados separados para cada domínio e ajustar os caminhos dos certificados de acordo.