
Cuando ingreso la URL no SSL de mi sitio web "cms00.example.com" en mi navegador, no me redireccionará ahttps://cms00.ejemplo.com. Si ingreso la dirección HTTP, puedo ver el sitio y si ingreso la dirección HTTPS, puedo ver el sitio. Simplemente no puedo hacer que funcione la redirección de http a https. Leí numerosos artículos sobre cómo hacer esto y probé todas las sugerencias, pero mi configuración aún no funciona. Estoy ejecutando Apache 2.4.10 en Debian 8 y esta es la primera vez que trabajo con Apache.
Ejecuté estos dos comandos y verifiqué que los módulos rewrite y ssl se hayan cargado:
sudo a2emod rewrite # <- already enabled
sudo a2emod ssl # <- already enabled
No he realizado ninguna modificación en /etc/apache2/apache2.conf y no he creado ningún archivo .htaccess adicional.
Aquí está mi archivo de configuración:
# /etc/apache2/sites-available/vhosts.conf
DirectoryIndex index.php index.html
<VirtualHost *:80>
ServerName cms00.example.com
DocumentRoot "/var/www/html"
Redirect permanent / https://cms00.example.com
</VirtualHost>
<VirtualHost *:443>
ServerName cms00.example.com
DocumentRoot "/var/www/html"
SSLEngine on
SSLCipherSuite AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCompression off
SSLCertificateFile /etc/apache2/ssl/example.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/private/example.com.key
<Directory "/var/www/html">
AllowOverride All
Options -Indexes +FollowSymLinks
Require all granted
</Directory>
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
Respuesta1
He solucionado el problema. Esto es lo que está pasando. /etc/apache2/apache2.conf incluye una llamada a cualquier archivo de configuración que tenga enlaces simbólicos en /etc/apache2/sites-enabled. Como había un enlace simbólico en ese directorio que apuntaba a /etc/apache2/sites-available/000-default.conf, ese último archivo de configuración se estaba cargando y anulaba los bloques y directivas en mi archivo vhosts.conf. Una vez que eliminé ese enlace simbólico, la configuración de mi vhosts.conf pudo surtir efecto. La lección para mí fue que cualquier archivo que tenga un enlace simbólico en sitios habilitados estará habilitado.