Instalación de un certificado SSL en el servidor Apache2
Puede instalar un certificado SSL en el servidor Apache para que este admita acceso seguro mediante HTTPS. Este artículo describe cómo instalar un certificado SSL en el servidor Apache.
En este documento se toma como ejemplo la versión de Apache Apache/2.4.58(ubuntu).
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
- Una vez que le emitamos el certificado, le entregaremos un archivo de certificado (.zip). Dentro del paquete comprimido hay cuatro carpetas correspondientes a cuatro formatos de certificado: Tomcat, Nginx, IIS y Apache; el servidor Apache necesita utilizar el certificado de la carpeta Apache.
- La carpeta Apache contendrá tres archivos,
domain_com.crtarchivo de certificadodomain_com.keyarchivo de clave privadadomain_com.ca-bundlearchivo de cadena de certificados
Instalar el certificado SSL
- Copie el archivo de certificado
domain_com.crt, el archivo de clave privadadomain_com.keyy el archivo de cadena de certificadosdomain_com.ca-bundledesde el directorio local al directorio/etc/apache2/ssldel servidor Apache. Nota:
- Si el directorio
/etc/apache2/sslno existe, puede crearlo mediante el comandomkdir -p /etc/apache2/ssl - Puede haber diferencias entre versiones; en algunos Apache el directorio podría ser
/etc/httpd
- Dado que Apache solo lee los archivos de configuración dentro de
sites-enabled, es necesario configurar un enlace simbólico
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
- Edite el archivo
/etc/apache2/sites-available/default-ssl.confy modifique el siguiente contenido:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/apache2/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/apache2/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/apache2/ssl/domain_com.ca-bundle
</VirtualHost>
Después de modificar y guardar el archivo de configuración, ejecute el siguiente comando:
a2enmod ssl #加载ssl模块,如果是替换证书可以忽略
apache2ctl configtest #检测配置文件是否报错
apache2ctl restart #重启Apache使配置生效
Probar el certificado SSL
Introduzca en la barra de direcciones del navegador el dominio vinculado al certificado SSL 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 del navegador; haga clic en él para ver la información del certificado.

Configuración de seguridad para la redirección automática de HTTP a HTTPS (opcional)
Si necesita redirigir automáticamente las solicitudes HTTP a HTTPS, puede configurarlo siguiendo estos pasos:
- Introduzca
a2enmod rewriteen la línea de comandos para habilitar el módulo de redirección. - A continuación, abra el archivo de configuración de http, por ejemplo:
/etc/apache2/sites-available/000-default.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>
- Reinicie el servidor Apache para poder acceder mediante el nombre de dominio y lograr la redirección automática de HTTP a HTTPS.