Saltar al contenido principal

Instalación de un certificado SSL en el servidor Apache

Puede instalar un certificado SSL en el servidor Apache para que este admita acceso seguro mediante HTTPS. En este artículo se describe cómo instalar un certificado SSL en el servidor Apache.

Nota

La versión de Apache utilizada en este documento es Apache/2.4.6 como ejemplo. Antes de la instalación, confirme que el puerto 443 no esté ocupado. Si el puerto 443 ya está en uso, vincule otro puerto al instalar el certificado.

Obtener el certificado

  1. Después de que le emitamos el certificado, le entregaremos el archivo de certificado (.zip) en formato comprimido. El paquete comprimido contiene cuatro carpetas correspondientes a cuatro formatos de certificado: Tomcat, Nginx, IIS y Apache. El servidor Apache necesita utilizar el certificado que se encuentra en la carpeta Apache.
  2. La carpeta Apache contendrá tres archivos:
  • domain_com.crt Archivo de certificado
  • domain_com.key Archivo de clave privada
  • domain_com.ca-bundle Archivo de cadena de certificados

Instalar el certificado SSL

  1. Copie el archivo de certificado domain_com.crt, el archivo de clave privada domain_com.key y el archivo de cadena de certificados domain_com.ca-bundle obtenidos desde el directorio local al directorio /etc/httpd/ssl del servidor Apache.
Nota
  • Si el directorio /etc/httpd/ssl no existe, puede crearlo mediante el comando mkdir -p /etc/httpd/ssl
  • Puede haber diferencias entre versiones; en algunas versiones de Apache el directorio puede ser /etc/apache2
  1. Revise el archivo de configuración httpd.conf en el directorio /etc/httpd/conf, localice la directiva de configuración Include conf.modules.d/*.conf y confirme que no esté comentada. Si está comentada, elimine el símbolo de comentario (#) de la primera línea y guarde el archivo de configuración.
  2. Verifique el archivo de configuración 00-ssl.conf en el directorio /etc/httpd/conf.modules.d, localice la declaración de configuración LoadModule ssl_module modules/mod_ssl.so y confirme que no esté comentada. Si está comentada, elimine el símbolo de comentario (#) de la primera línea y guarde el archivo de configuración.
Nota

Si no se encuentra LoadModule ssl_module modules/mod_ssl.so en el archivo de configuración anterior, verifique si el módulo mod_ssl.so está instalado. Si el módulo mod_ssl.so no está instalado, puede instalarlo ejecutando el comando yum install mod_ssl.

  1. Edite el archivo de configuración ssl.conf en el directorio /etc/httpd/conf.d. Modifique el siguiente contenido:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/httpd/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/httpd/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/httpd/ssl/domain_com.ca-bundle
</VirtualHost>
  1. Guarde el archivo de configuración y reinicie el servidor Apache.

Prueba del certificado SSL

Ingrese el dominio vinculado al certificado SSL en la barra de direcciones del navegador para comprobar si su certificado SSL se ha instalado correctamente. Si es así, aparecerá un icono de candado de seguridad en la barra de direcciones; haga clic en él para ver la información del certificado.

Efecto del certificado SSL

Configuración de seguridad para redirección automática de HTTP a HTTPS (opcional)

Si necesita redirigir automáticamente las solicitudes HTTP a HTTPS, puede configurarlo mediante las siguientes operaciones:

  1. Edite el archivo de configuración httpd.conf en el directorio /etc/httpd/conf. Compruebe si LoadModule rewrite_module modules/mod_rewrite.so existe en dicho archivo de configuración. Si existe, elimine el símbolo de comentario (#) de la primera línea; si no existe, añada la línea LoadModule rewrite_module modules/mod_rewrite.so y guarde el archivo de configuración.
  2. Abra el archivo http.conf y añada el siguiente contenido en el archivo de configuración:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
  1. Reinicie el servidor Apache para acceder mediante el nombre de dominio y lograr la redirección automática de HTTP a HTTPS.