El mod_ssl
El módulo proporciona compatibilidad con SSL v3 y TLS v1.x para el servidor Apache HTTP. Este artículo le proporciona un paso a paso básico mod_ssl
configuración en servidor RHEL 8 / CentOS 8 Linux con httpd
Servidor web Apache.
En este tutorial aprenderás:
- Cómo instalar
mod_ssl
- Cómo habilitar
mod_ssl
- Cómo crear un certificado autofirmado
- Cómo incluir un certificado SSL existente en
httpd
configuración
- Cómo redirigir todo el tráfico HTTP sin SSL a HTTPS
mod_ssl
básico configuración del módulo en RHEL 8 / CentOS 8 con servidor web Apache
Requisitos de software y convenciones utilizadas
Requisitos de software y convenciones de la línea de comandos de Linux Categoría | Requisitos, convenciones o versión de software utilizada |
Sistema | RHEL 8 / CentOS 8 |
Software | mod_ssl-2.4.35-6.el8 |
Otro | Acceso privilegiado a su sistema Linux como root o a través de sudo comando. |
Convenciones | # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios |
Cómo instalar mod_ssl en RHEL 8 / CentOS 8 instrucciones paso a paso
Este artículo asume que ya realizó una instalación y configuración básicas del servidor web Apache en su servidor RHEL 8/CentOS 8.
- Instala
mod_ssl
módulo. El primer paso es instalar mod_ssl
módulo usando dnf
comando:# dnf install mod_ssl
- Habilitar
mod_ssl
módulo. En caso de que acabes de instalar mod_ssl
, es posible que el módulo aún no esté habilitado. Para probar si mod_ssl
está habilitado ejecutar:# apachectl -M | grep ssl
En caso de que no vea ningún resultado del comando anterior, su mod_ssl
no está habilitado. Para habilitar el mod_ssl
módulo reinicie su httpd
Servidor web Apache:
# systemctl restart httpd
# apachectl -M | grep ssl
ssl_module (shared)
- Abra el puerto TCP 443 para permitir el tráfico entrante con
https
protocolo:# firewall-cmd --zone=public --permanent --add-service=https
success
# firewall-cmd --reload
success
NOTA
En este punto, debería poder acceder a su servidor web Apache a través del protocolo HTTPS. Navega tu navegador a https://your-server-ip
o https://your-server-hostname
para confirmar mod_ssl
configuración.
- Generar certificado SSL. En caso de que aún no posea un certificado SSL adecuado para su servidor, use el siguiente comando para generar un nuevo certificado autofirmado.
Por ejemplo, generemos un nuevo certificado autofirmado para el host rhel8
con caducidad de 365 días:
# openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/httpd.key -x509 -days 365 -out /etc/pki/tls/certs/httpd.crt
Generating a RSA private key
................+++++
..........+++++
writing new private key to '/etc/pki/tls/private/httpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:AU
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:LinuxConfig.org
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:rhel8
Email Address []:
Después de ejecutar con éxito el comando anterior, se crearán los siguientes dos archivos SSL:
# ls -l /etc/pki/tls/private/httpd.key /etc/pki/tls/certs/httpd.crt
-rw-r--r--. 1 root root 1269 Jan 29 16:05 /etc/pki/tls/certs/httpd.crt
-rw-------. 1 root root 1704 Jan 29 16:05 /etc/pki/tls/private/httpd.key
- Configure el servidor web Apache con nuevos certificados SSL. Para incluir su certificado SSL recién creado en la configuración del servidor web Apache, abra
/etc/httpd/conf.d/ssl.conf
archivo con privilegios administrativos y cambie las siguientes líneas:FROM:
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
TO:
SSLCertificateFile /etc/pki/tls/certs/httpd.crt
SSLCertificateKeyFile /etc/pki/tls/private/httpd.key
Una vez que esté listo, vuelva a cargar el httpd
Servidor web Apache:
# systemctl reload httpd
- Prueba tu
mod_ssl
configuración navegando el navegador web a https://your-server-ip
o https://your-server-hostname
URL.
- Como paso opcional, redirija todo el tráfico HTTP a HTTPS.T, cree un nuevo archivo
/etc/httpd/conf.d/redirect_http.conf
con el siguiente contenido:<VirtualHost _default_:80>
Servername rhel8
Redirect permanent / https://rhel8/
</VirtualHost>
Para aplicar el cambio recarga el httpd
demonio:
# systemctl reload httpd
La configuración anterior redirigirá cualquier tráfico entrante desde http://rhel8
a https://rhel8
URL Para obtener más información sobre la configuración de TLS/SSL en el servidor RHEL Linux, visite nuestra guía Cómo configurar SSL/TLS con Apache httpd en Red Hat.