Instalación de un certificado SSL en un servidor Nginx
Puede instalar un certificado SSL en un servidor Nginx para que este admita el acceso seguro HTTPS. Este artículo describe cómo instalar un certificado SSL en un servidor Nginx.
La versión de Nginx utilizada en este documento es nginx/1.18.0.
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.
Obtención del certificado
- Después de que le emitamos el certificado, recibirá un 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 Nginx necesita el certificado de la carpeta Nginx.
- La carpeta Nginx contendrá dos archivos:
domain_com_integrated.crtarchivo de certificadodomain_com.keyarchivo de clave privada
Instalación del certificado SSL
- Copie el archivo de certificado
domain_com_integrated.crty el archivo de clave privadadomain_com.keyobtenidos desde el directorio local al directorio/etc/nginx/ssldel servidor Nginx.
- Si el directorio
/etc/nginx/sslno existe, puede crearlo mediante el comandomkdir -p /etc/nginx/ssl - La ubicación del directorio puede variar según el método de instalación; consulte la situación real.
- Edite el archivo
nginx.confen el directorio raíz de Nginx. Las modificaciones son las siguientes:
server {
listen 443 ssl;
#填写自己的域名,多个域名用空格隔开
server_name racent.com;
#填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;
#填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
Debido a diferencias de versión, el archivo de configuración puede tener distintas formas de escritura. Por ejemplo: si la versión de Nginx es inferior a nginx/1.15.0, use listen 443 y ssl on en lugar de listen 443 ssl.
Después de modificar, guarde el archivo de configuración y ejecute el siguiente comando:
nginx -t #验证配置文件是否正确
nginx -s reload #重载 Nginx
Probar el 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 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 realizar la siguiente configuración:
- Utilice la función de redirección de Nginx y agregue
return 301 https://$host$request_uri;en elserverde HTTP para redirigir las solicitudesHTTPaHTTPS. Modifique lo siguiente:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
- Reinicie el servidor Nginx para poder acceder mediante el nombre de dominio y lograr que
HTTPredirija automáticamente aHTTPS.