¿Cómo activar https en Apache CentOS?

HTTPS (HyperText Transfer Protocol Secure, Protocolo de transferencia de hipertexto) es un protocolo de comunicación de Internet que protege la integridad y la confidencialidad de los datos de los usuarios entre sus computadoras y el sitio web. Como los usuarios esperan que su experiencia online sea segura y privada, es recomendable utilizar HTTPS para proteger sus conexiones con tu sitio web, independientemente de lo que este contenga.

Si ya tienes tu página web alojada en un servidor Linux (o estas en proceso de crearla), y estás buscando ofrecer tu página sobre https, tendrás que saber cómo habilitarlo. configurar https en Apache CentOS no es complicado, pero hay que ejecutar algunos pasos.

Crear y alojar certificados

Instalar OpenSSL

sudo yum install mod_ssl openssl

Generar llave privada

sudo openssl genrsa -out ca.key 2048

Generar CSR

sudo openssl req -new -key ca.key -out ca.csr

Generar llave auto-firmada

sudo openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

Guardar las llaves generadas en el directorio especifico de certificados:

sudo cp ca.crt /etc/pki/tls/certs
sudo cp ca.key /etc/pki/tls/private/ca.key
sudo cp ca.csr /etc/pki/tls/private/ca.csr

Modificar el archivo de configuración de Apache para SSL /etc/httpd/conf.d/ssl.conf

sudo nano /etc/httpd/conf.d/ssl.conf

Buscar la siguientes lineas y reemplazarlas:

SSLCertificateFile /etc/pki/tls/certs/localhost.crt remplazarla por:

SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key remplazarla por:
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

Reiniciar Apache

sudo systemctl restart httpd

Configurar y probar el contenido web

Con los cambios aplicados deberíamos ser capaces de consultar nuestro servidor Apache con https y deberias ver la página de inicio del servidor:

Al visitar https://example.com deberiamos tener el resultado:

Ahora para mostrar nuestra página en esta consulta https debemos crear un host virtual el cual direccionará al contenido de nuestra página. Para ello debemos crear un archivo de configuración en el directorio de configuración de Apache:

nano /etc/httpd/conf.d/example.conf

Este archivo contendrá la configuración de las consultas https, debes completar remplazando los datos mostrados  a continuación con los datos de tu página:

<VirtualHost *:443>
ServerAdmin root@localhost
DocumentRoot /var/www/html/example
ServerName example.com:443
ServerAlias example.com

<If "%{HTTP_HOST} == example.com">
    Redirect permanent / https://example.com/
</If>

<Directory /var/www/html/example>
    DirectoryIndex index.html index.php
    Options FollowSymLinks
    AllowOverride All
    Require all granted
 </Directory>

</VirtualHost>

Redireccionar http a https

Listo, con esto tu página podrá ser consultada utilizando http seguro(https), ahora, sino desea que tu página sea consultada utilizando http, puedes direccionar las consultas http hacia https modificando la definición del host virtual para http, ya sea desde el archivo ssl.conf o sobreescribiendo la configuración desde el archivo que acabamos de crear example.conf

nano /etc/httpd/conf.d/example.conf
<VirtualHost *:80>
ServerAdmin root@localhost
DocumentRoot /var/www/html/wordpress

Redirect / https://10.205.216.29/

<VirtualHost>
0 0 votes
Ten 5 estrellas!!
Subscribe
Notify of
guest
0 Comentarios
Newest
Oldest Most Voted
Inline Feedbacks
View all comments