Saltar al contenido principal

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.

Nota

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

  1. 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.
  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 desde el directorio local al directorio /etc/apache2/ssl del servidor Apache. Nota:
  • Si el directorio /etc/apache2/ssl no existe, puede crearlo mediante el comando mkdir -p /etc/apache2/ssl
  • Puede haber diferencias entre versiones; en algunos Apache el directorio podría ser /etc/httpd
  1. 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
  1. Edite el archivo /etc/apache2/sites-available/default-ssl.conf y 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.

Efecto del certificado SSL

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:

  1. Introduzca a2enmod rewrite en la línea de comandos para habilitar el módulo de redirección.
  2. 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>
  1. Reinicie el servidor Apache para poder acceder mediante el nombre de dominio y lograr la redirección automática de HTTP a HTTPS.