
Tengo un ejemplo que siempre debería resultar enhttps://ejemplo.com, incluso cuando el usuario está ingresandowww.ejemplo.com, https o no. Idealmente, el archivo de configuración https automatizado de letsencrypt debería funcionar.
- Intenté eliminar el registro A de www y usar un CNAME en su lugar para señalar ejemplo.com o @. Esto no parece tener ningún efecto y los usuarios aún terminan en www. No tengo ni idea de porqué.
Esta es mi configuración actual:
<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>
Entonces sin embargo,https://www.ejemplo.comarroja un certificado incorrecto, incluso si agrego esto a la configuración: 443:
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://example.com%{REQUEST_URI} [END,NE,R=permanent]
¿Cómo puedo redirigir las solicitudes http y https awww.ejemplo.comahttps://ejemplo.com?
Respuesta1
Los clientes llegan ahttps://www.ejemplo.comasí que incluso si realizas una redirección ahttps://ejemplo.comnecesitasdos certificados SSL(uno para ejemplo.com y el otro parawww.ejemplo.com) oun único certificado SSL válido para ambos dominios.
Si estas usandorobot certificadoPara emitir certificados Let's Encrypt, puede utilizar varios -d
parámetros para especificar varios dominios, por ejemplo:
certbot certonly --webroot -w /var/www/example -d www.example.com -d example.com