
Eu tenho um exemplo que sempre deve resultar emhttps://example.com, mesmo quando o usuário está inserindowww.exemplo.com, https ou não. Idealmente, o arquivo de configuração https automatizado letsencrypt config deve funcionar.
- Tentei remover o registro A de www e usar um CNAME para apontar para example.com ou @. Isso não parece ter nenhum efeito e os usuários ainda acabam acessando www. Eu não tenho ideia do porquê.
Esta é minha configuração atual:
<VirtualHost [IPV6]:80 IPV4:80>
ServerAdmin [email protected]
DocumentRoot /home/example/public_html
ServerName example.com
ServerAlias www.example.com
ErrorLog logs/example.error.log
CustomLog logs/example.acccess.log common
<Directory /home/example/public_html>
Options FollowSymLinks
AllowOverride All
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost [IPV6]:443 IPV4:443>
ServerAdmin [email protected]
DocumentRoot /home/example/public_html
ServerName example.com
ServerAlias www.example.com
ErrorLog logs/example.error.log
CustomLog logs/example.acccess.log common
<Directory /home/example/public_html>
Options FollowSymLinks
AllowOverride All
</Directory>
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
</VirtualHost>
Então, porém,https://www.exemplo.comlança um certificado incorreto, mesmo se eu adicionar isso à configuração: 443:
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent]
Como posso redirecionar solicitações http E https parawww.exemplo.comparahttps://example.com?
Responder1
Os clientes chegam parahttps://www.exemplo.comentão mesmo se você fizer um redirecionamento parahttps://example.comvocê precisadois certificados SSL(um para example.com e outro parawww.exemplo.com) ouum único certificado SSL válido para ambos os domínios.
Se você estiver usandocertificadobotpara emitir certificados Let's Encrypt você pode usar vários -d
parâmetros para especificar vários domínios, por exemplo:
certbot certonly --webroot -w /var/www/example -d www.example.com -d example.com