Cómo usar Apache para redirigir todo el tráfico de HTTP a HTTPS

Cómo usar Apache para redirigir todo el tráfico de HTTP a HTTPS

Si su sitio web usa Apache y SSL, no hay muchas razones para seguir usando HTTP con su sitio web. Tener HTTP y HTTPS solo crean contenido duplicado, ya que ahora se puede acceder a cualquier página dada a través de dos URL técnicamente diferentes.

En esta guía, asumiremos que ya está usando Apache en un sistema Linux y queremos redirigir todo el tráfico HTTP a HTTPS. Esto se asegurará de que todos sus visitantes solo se conecten a través de HTTPS al forzar su navegador al protocolo seguro si abren un enlace HTTP. Si un usuario decide prefacionar un enlace con http: //, Su sitio será lo suficientemente inteligente como para enviarlos a la página correcta, en lugar de mostrar contenido duplicado o mostrar un error 404.

Hay dos formas de configurar esta redirección en Apache. El mejor método es configurar el host virtual, pero los usuarios con sitios web alojados pueden no tener acceso a esta configuración. El segundo método es haciendo algunos cambios en el .htaccess archivo. Cubriremos las instrucciones paso a paso para ambos métodos a continuación. Empecemos.

En este tutorial aprenderás:

  • Cómo redirigir http a https con host virtual
  • Cómo redirigir http a https con .htaccess archivo
Redirigir el tráfico HTTP a HTTPS en Apache Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Cualquier distribución de Linux
Software apache
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Redirigir http a https con host virtual

En Ubuntu, Debian y sus derivados, encontrará los archivos de host virtuales en /etc/apache2/sites disponible. Abra el archivo apropiado en un editor de texto de su elección:

$ sudo VI/etc/apache2/sites disponible/ejemplo.confusión 


En Redhat, Centos, Fedora y otros derivados, encontrará la configuración de hosts virtuales en:

$ sudo vi/etc/httpd/conf.d 

Este archivo se puede usar para redirigir el tráfico, entre muchas otras cosas. Si ya está utilizando HTTP y HTTPS en su sitio web, debe tener al menos dos hosts virtuales ya en el archivo: uno para 80 (http) y otro para 443 (https). Para redirigir el tráfico HTTP, necesitaremos agregar la siguiente línea:

Redirigir permanente/https: // ejemplo.com/ 

Agrégalo en algún lugar dentro del encabezado, como en el ejemplo a continuación:

Ejemplo de configuración de host virtual con el tráfico HTTP redirigido a HTTPS

Guarde sus cambios y salga de este archivo cuando haya terminado. Para que los cambios entren en vigencia, deberá volver a cargar la configuración de Apache con el siguiente comando SystemCTL:

$ sudo SystemCTL RELOAD APACHE2 # Debian, Ubuntu o $ sudo SystemCTL RELOAD HTTPD # Red Hat, Centos, Fedora 

Redirigir http a https con .archivo htaccess

Si no tiene acceso a la configuración del host virtual, el .htaccess El archivo será su única opción. Se puede encontrar en el directorio raíz de su sitio web, que debe ser accesible independientemente del host web que esté utilizando.

Simplemente edite este archivo y agregue las siguientes líneas de código. Puede simplemente pegarlos en la parte inferior del archivo.

RewriteEngine en RewriteCond %https Off Rewriterule ^(.*) $ https: // ejemplo.com/$ 1 [l, r = 301] 


Eso es todo al respecto. Debe notar los cambios al instante al navegar a su sitio web, ya que Apache no necesita ser recargado para que esos cambios entren en vigencia.

Pensamientos de cierre

HTTPS es definitivamente el camino a seguir. En este artículo, vimos lo fácil que era redirigir todo el tráfico a HTTPS y deshacernos de HTTP por completo. Cualquiera de estos métodos es viable para forzar el tráfico HTTP a HTTPS en su sitio web.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Ubuntu 20.04 WordPress con instalación de Apache
  • Ubuntu 20.04: WordPress con instalación de Nginx
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Descarga de Linux
  • Cosas para instalar en Ubuntu 22.04
  • Prueba de clientes HTTPS utilizando OpenSSL para simular un servidor
  • Cómo usar NGINX para redirigir todo el tráfico de HTTP a HTTPS