Saltar al contenido principal

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.

Nota

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

  1. 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.
  2. La carpeta Nginx contendrá dos archivos:
  • domain_com_integrated.crt archivo de certificado
  • domain_com.key archivo de clave privada

Instalación del certificado SSL

  1. Copie el archivo de certificado domain_com_integrated.crt y el archivo de clave privada domain_com.key obtenidos desde el directorio local al directorio /etc/nginx/ssl del servidor Nginx.
  • Si el directorio /etc/nginx/ssl no existe, puede crearlo mediante el comando mkdir -p /etc/nginx/ssl
  • La ubicación del directorio puede variar según el método de instalación; consulte la situación real.
  1. Edite el archivo nginx.conf en el directorio raíz de Nginx. Las modificaciones son las siguientes:
nginx.conf
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;
}
}

Nota

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.

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 realizar la siguiente configuración:

  1. Utilice la función de redirección de Nginx y agregue return 301 https://$host$request_uri; en el server de HTTP para redirigir las solicitudes HTTP a HTTPS. Modifique lo siguiente:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}

  1. Reinicie el servidor Nginx para poder acceder mediante el nombre de dominio y lograr que HTTP redirija automáticamente a HTTPS.