Configurando SSL/TLS com Nginx on Ubuntu

Para configurar SSL/TLS com Nginx on Ubuntu, você pode seguir estas etapas:

Passo 1: Instalar Nginx

Se você não instalou Nginx, execute os seguintes comandos para instalá-lo:

sudo apt update  
sudo apt install nginx

Passo 2: Instale o OpenSSL

Se você não tiver o OpenSSL instalado, instale-o usando o seguinte comando:

sudo apt install openssl

Etapa 3: criar um diretório para arquivos de certificado SSL

Crie um diretório para armazenar os arquivos de certificado SSL:

sudo mkdir /etc/nginx/ssl

Etapa 4: gerar certificados SSL/TLS autoassinados(opcional)

Se você não estiver usando certificados SSL de uma autoridade de certificação, poderá gerar certificados autoassinados com OpenSSL. Isso é útil para testar SSL/TLS em um ambiente de desenvolvimento. Para criar um certificado autoassinado, execute os seguintes 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  

Etapa 5: configurar Nginx para usar SSL/TLS

Abra o Nginx arquivo de configuração do site que você deseja proteger:

sudo vi /etc/nginx/sites-available/your_domain

Adicione as seguintes linhas ao arquivo de configuração para ativar o 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)  
    }  
}  

Passo 6: Habilite a configuração e reinicie Nginx

Crie um link simbólico do arquivo de configuração para sites-available habilitar sites-enabled a configuração:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

Verifique se a Nginx configuração possui algum erro:

sudo nginx -t

Se não houver erros, reinicie o Nginx serviço para aplicar a nova configuração:

sudo systemctl restart nginx

Depois de concluído, seu site estará protegido com SSL/TLS. Observe que o uso de certificados autoassinados resultará no aviso do navegador sobre certificados não confiáveis. Para ter um certificado SSL/TLS confiável, você precisa comprar ou obter um certificado gratuito de uma autoridade de certificação.