En esta publicación:
¿Qué es HTTPS?
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/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>