2.3. Añadir encriptación TLS a un servidor web NGINX
Esta sección describe cómo habilitar el cifrado TLS en un servidor web NGINX para el dominio example.com
.
Requisitos previos
- NGINX se instala como se describe en Sección 2.1, “Instalación y preparación de NGINX”.
La clave privada se almacena en el archivo
/etc/pki/tls/private/example.com.key
.Para obtener detalles sobre la creación de una clave privada y una solicitud de firma de certificado (CSR), así como para solicitar un certificado a una autoridad de certificación (CA), consulte la documentación de su CA.
-
El certificado TLS se almacena en el archivo
/etc/pki/tls/certs/example.com.crt
. Si utiliza una ruta diferente, adapte los pasos correspondientes del procedimiento. - El certificado de la CA se ha añadido al archivo de certificados TLS del servidor.
- Los clientes y el servidor web resuelven el nombre de host del servidor a la dirección IP del servidor web.
-
El puerto
443
está abierto en el firewall local.
Procedimiento
Edite el archivo
/etc/nginx/nginx.conf
y añada el siguiente bloqueserver
al bloquehttp
en la configuración:server { listen 443 ssl; server_name example.com; root /usr/share/nginx/html; ssl_certificate /etc/pki/tls/certs/example.com.crt; ssl_certificate_key /etc/pki/tls/private/example.com.key; }
Por razones de seguridad, configure que sólo el usuario
root
pueda acceder al archivo de la clave privada:#
chown root:root /etc/pki/tls/private/example.com.key
#chmod 600 /etc/pki/tls/private/example.com.key
AvisoSi los usuarios no autorizados accedieron a la clave privada, revoque el certificado, cree una nueva clave privada y solicite un nuevo certificado. En caso contrario, la conexión TLS deja de ser segura.
Reinicie el servicio
nginx
:#
systemctl restart nginx
Pasos de verificación
-
Utilice un navegador y conéctese a
https://example.com