Configurando www.domain.com e domain.com com zonefile ou letsencrypt para sempre encaminhar para domain.com

Configurando www.domain.com e domain.com com zonefile ou letsencrypt para sempre encaminhar para domain.com

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 -dparâmetros para especificar vários domínios, por exemplo:

certbot certonly --webroot -w /var/www/example -d www.example.com -d example.com

informação relacionada