Tenho um exemplo que deve sempre resultar em https://example.com , mesmo quando o usuário estiver digitando www.example.com , https ou não. Idealmente, o arquivo de configuração https de configuração do letsencrypt automatizado deve funcionar.
- Eu tentei remover o registro A para www e usar um CNAME para apontar para example.com ou @. Isso não parece ter nenhum efeito e os usuários ainda acabam em www. Eu não tenho ideia do porquê.
Esta é a 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, no entanto, https://www.example.com lança um certificado ruim, 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 para www.example.com para https://example.com ?
Os clientes chegam a https://www.example.com , portanto, mesmo que você faça um redirecionamento para https://example.com , você precisa de dois certificados SSL (um para example.com e outro para www.example.com ) ou um certificado SSL único válido para ambos os domínios .
Se você estiver usando o certbot para emitir certificados Let's Encrypt, poderá usar vários
-d
parâmetros para especificar vários domínios, por exemplo: