Para configurar SSL/TLS con Nginx on Ubuntu, puede seguir estos pasos:
Paso 1: Instalar Nginx
Si no lo ha instalado Nginx, ejecute los siguientes comandos para instalarlo:
sudo apt update
sudo apt install nginx
Paso 2: Instalar OpenSSL
Si no tiene instalado OpenSSL, instálelo con el siguiente comando:
sudo apt 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/sites-available/your_domain
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: habilite la configuración y reinicie Nginx
Cree un enlace simbólico desde el archivo de configuración sites-available
para sites-enabled
habilitar la configuración:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
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.