Configuración de SSL/TLS con Nginx encendido CentOS

Para configurar SSL/TLS con Nginx on CentOS, puede seguir estos pasos:

Paso 1: Instalar Nginx

Si no lo ha instalado Nginx, ejecute el siguiente comando para instalarlo:

sudo yum install nginx

Paso 2: Instalar OpenSSL

Si no tiene instalado OpenSSL, instálelo con el siguiente comando:

sudo yum install openssl

Paso 3: Cree un directorio para archivos de certificados SSL

Cree un directorio para almacenar archivos de certificados SSL:

sudo mkdir /etc/nginx/ssl

Paso 4: generar certificados SSL/TLS autofirmados(opcional)

Si no está utilizando certificados SSL de una autoridad de certificación, puede generar certificados autofirmados con OpenSSL. Esto es útil para probar SSL/TLS en un entorno de desarrollo. Para crear un certificado autofirmado, ejecute los siguientes comandos:

cd /etc/nginx/ssl  
sudo openssl genrsa -out server.key 2048  
sudo openssl req -new -key server.key -out server.csr  
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt  

Paso 5: Configurar Nginx para usar SSL/TLS

Abra el Nginx archivo de configuración del sitio web que desea proteger:

sudo vi /etc/nginx/conf.d/your_domain.conf

Agregue las siguientes líneas al archivo de configuración para habilitar SSL:

server {  
    listen 80;  
    server_name your_domain.com www.your_domain.com;  
    return 301 https://$host$request_uri;  
}  
  
server {  
    listen 443 ssl;  
    server_name your_domain.com www.your_domain.com;  
  
    ssl_certificate /etc/nginx/ssl/server.crt;  
    ssl_certificate_key /etc/nginx/ssl/server.key;  
  
    # Additional SSL/TLS options can be added here(optional)  
    ssl_protocols TLSv1.2 TLSv1.3;  
    ssl_prefer_server_ciphers on;  
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';  
      
    # Additional configurations(if needed)  
      
    location / {  
        # Reverse proxy configuration(if needed)  
    }  
}  

Paso 6: prueba y reinicia Nginx

Compruebe si la Nginx configuración tiene algún error:

sudo nginx -t

Si no hay errores, reinicie el Nginx servicio para aplicar la nueva configuración:

sudo systemctl restart nginx

Una vez completado, su sitio web estará protegido con SSL/TLS. Tenga en cuenta que el uso de certificados autofirmados hará que el navegador advierta sobre certificados que no son de confianza. Para tener un certificado SSL/TLS de confianza, debe comprar u obtener un certificado gratuito de una autoridad certificadora.