Cómo redirigir HTTP a HTTPS en Apache

HTTP (Protocolo de transferencia de texto hiperactivo) es tan popular como el protocolo fundamental de comunicación de datos en la World Wide Web (WWW); por lo general entre un navegador y el servidor que almacena los archivos de la web. Mientras que HTTPS es la versión segura del HTTP, donde la "s" al final significa "Seguro".

Usando HTTPS, todos los datos entre su navegador y el servidor web están encriptados por lo tanto seguro. Este tutorial le mostrará cómo redirigir HTTP a HTTPS en el servidor HTTP de Apache en Linux.

Antes de poder configurar un Apache y que HTTP redireccione su dominio a HTTPS, asegúrese de que usted tiene un certificado SSL instalado y está habilitado en mod_rewrite en Apache.

Para obtener más información acerca de cómo configurar SSL en Apache, vea la siguiente guía:


Redirección de HTTP a HTTPS en Apache usando el archivo .htaccess

Para este método, asegúrese de que mod_rewrite esté habilitado, de lo contrario habilítelo de esta manera en en los sistemas Ubuntu / Debian.

$ sudo a2enmod rewrite [Ubuntu/Debian]

Para los usuarios de CentOS / RHEL, asegúrese de tener la siguiente línea en httpd.conf (soporte de mod_rewrite - activado de forma predeterminada).
LoadModule rewrite_module modules/mod_rewrite.so
Ahora sólo tiene que editar o crear el archivo .htaccess en el directorio raíz del dominio y agregar estas líneas para redirigir http a https.
RewriteEngine On 
RewriteCond %{HTTPS}  !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 
Ahora, cuando un visitante escriba http://www.yourdomain.com, el servidor redireccionará automáticamente HTTP a HTTPS https://www.yourdomain.com.

Redireccionar HTTP a HTTPS en Host Virtual Apache

Además, para obligar a todo el tráfico web a utilizar HTTPS, también puede configurar el archivo de host virtual. Normalmente, hay dos secciones importantes de una configuración de host virtual si un certificado SSL está habilitado; El primero contiene configuraciones para el puerto no seguro 80.

La segunda es para el puerto seguro 443. Para redirigir HTTP a HTTPS para todas las páginas de su sitio web, primero abra el archivo de host virtual adecuado. A continuación, modifíquelo añadiendo la configuración siguiente.
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.yourdomain.com
Redirect / https://www.yourdomain.com
</VirtualHost>
<VirtualHost _default_:443>
ServerName www.yourdomain.com
DocumentRoot /usr/local/apache2/htdocs
SSLEngine On
# etc...
</VirtualHost>
Guarde y cierre el archivo y, a continuación, reinicie el servidor HTTP de esta forma.
$ sudo systemctl restart apache2     [Ubuntu/Debian]
$ sudo systemctl restart httpd      [RHEL/CentOS]
Mientras que el <VirtualHost> es la solución más recomendada porque es más sencillo y seguro.

¡Y eso es todo! Vive la experiencia de usar una red segura cuando tus usuarios navegan en tu página web.

FUENTE: https://www.tecmint.com/redirect-http-to-https-on-apache/

Comentarios

Entradas populares