que-es-apache-1

El protocolo de seguridad SSL o HTTPS se ha convertido en una necesidad para tener en un sitio web, especialmente aquellos que manejan información sensible de los clientes. Tener un sitio web habilitado para HTTPS significa que un intruso no puede interferir en la comunicación entre los usuarios y el sitio web.

HTTPS no sólo asegura la comunicación, sino que ahora es un requisito para muchas características nuevas como http2, que requiere que se tenga habilitado https en un servidor. Tener un sitio web habilitado para HTTPS también mejora su posicionamiento en Google SEO (Search Engine Optimization).

HTTPS utiliza un certificado SSL para proteger tu sitio web.

En este tutorial, hablaremos sobre cómo podemos mover el tráfico del servidor web a https, es decir, redirigir el tráfico http a https en los servidores Apache.

Vamos a hablar sobre tres métodos diferentes para redirigir todo el tráfico web, es decir, redirigir http a https. Pero antes de hacer eso veamos los archivos que usaremos para hacer la redirección de http a https,

/etc/httpd/conf/httpd.conf (RHEL/CentOS)- Si tienes acceso a esto y has definido las entradas de los hosts Apache en httpd.conf, usa este archivo para definir las opciones de redireccionamiento. Puede haber otra ubicación definida por el usuario, por ejemplo /etc/httpd/conf/virtual-hosts.conf. Pero habrá una entrada para lo mismo en httpd.conf, como:

include /virtual-hosts.conf

Si estás utilizando una ubicación personalizada para definir los hosts virtuales, ahí es donde realizarás la entrada de redireccionamiento.

/etc/apache2/sites-available/test.com (Ubuntu)- Este archivo es el mismo que el archivo de configuración de hosts virtuales personalizados. Si utilizas Ubuntu, haz una redirección a este archivo. Aquí test.com es el nombre del sitio web.

.htaccess- Este archivo se utiliza cuando se manejan varios servidores o cuando no se tiene acceso al archivo de configuración principal, como en el caso de la instalación de WordPress, pero también se puede utilizar en cualquier caso. Este archivo se encuentra normalmente en la raíz del sitio web.

Todos estos archivos se pueden utilizar para redirigir el tráfico, así que elige el archivo que mejor se adapte a tus necesidades.

Método 1 : Usando Redirect

Este método es bastante simple, haz la siguiente entrada en el archivo de configuración del host virtual (httpd.conf para CentOS/RHEL o test.com para Ubuntu),

<VirtualHost *:80>

ServerName test.com

<Location />

Redirect permanent / https://test.com/

 

</Location>

</VirtualHost>

<VirtualHost *:443>

ServerName example.com

DocumentRoot /var/www/html/test.com

SSLEngine On

SSLCertificateFile /etc/apache2/ssl/test.com.crt

SSLCertificateKeyFile /etc/apache2/ssl/test.com.key

SSLCertificateChainFile /etc/apache2/ssl/test.com.ca-bundle

</VirtualHost>

Si utilizas el archivo .htaccess, realiza la siguiente entrada en el archivo,

Redirect permanent / https://test.com/

Guardar el archivo y redirigir http a https empezaría a funcionar.

Método 2 : Usando mod_rewrite

Este es mi método favorito. Aquí usaremos el módulo mod_rewrite para redirigir el tráfico a https. Para utilizar este método, asegúrate de que tenemos habilitado el módulo mod_rewrite. Para habilitar el módulo mod_rewrite, abre el archivo ‘httpd.conf’ y realiza la siguiente entrada

Para CentOS

$ vi /etc/httpd/conf/httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

Para Ubuntu

$ sudo a2enmod rewrite

Reinicia el servicio Apache para implementar los cambios. A continuación, realiza la siguiente entrada en el archivo del host virtual ( httpd.conf para CentOS/RHEL o test.com para Ubuntu)

<VirtualHost *:80>

ServerName test.com

RewriteEngine On

 

RewriteCond %{HTTPS} !on

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}>

</VirtualHost>

<VirtualHost *:443>

ServerName example.com

DocumentRoot /var/www/html/test.com>

SSLEngine On

SSLCertificateFile /etc/apache2/ssl/test.com.crt

SSLCertificateKeyFile /etc/apache2/ssl/test.com.key

SSLCertificateChainFile /etc/apache2/ssl/test.com.ca-bundle

</VirtualHost>

Para el archivo.htaccess haz la siguiente entrada en el archivo,

RewriteEngine On

RewriteCond %{HTTPS} !on

 

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}>

 

Nota:- Asegúrate de que no está duplicando ‘RewriteEngine On’ y que el ‘RewriteCond’ , ‘RewriteRule’ siga inmediatamente a ‘RewriteEngine’.

Método 3 : Usando PHP

Usando este método, podemos crear una función para redirigir el tráfico y llamar a esta función en la página cuando necesitemos redirigir el tráfico o encima de todos los scripts. Utiliza el siguiente código PHP,

< ?php

function redirectTohttps() {

if($_SERVER[‘HTTPS’]!=”on”) {

$redirect= “https://”.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];

header(“Location:$redirect”); } }

?>

Antes de utilizar este código, asegúrate de que SSL ha sido configurado correctamente.

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 11333 invitados y ningún miembro en línea