Konfigurace SSL/TLS se Nginx zapnutým CentOS

Chcete-li nakonfigurovat SSL/TLS se Nginx zapnutým CentOS, můžete postupovat takto:

Krok 1: Nainstalujte Nginx

Pokud jste nenainstalovali Nginx, spusťte následující příkaz a nainstalujte jej:

sudo yum install nginx

Krok 2: Nainstalujte OpenSSL

Pokud nemáte nainstalované OpenSSL, nainstalujte jej pomocí následujícího příkazu:

sudo yum install openssl

Krok 3: Vytvořte adresář pro soubory certifikátů SSL

Vytvořte adresář pro ukládání souborů certifikátu SSL:

sudo mkdir /etc/nginx/ssl

Krok 4: Vygenerujte certifikáty SSL/TLS s vlastním podpisem(volitelné)

Pokud nepoužíváte certifikáty SSL od certifikační autority, můžete pomocí OpenSSL vygenerovat certifikáty s vlastním podpisem. To je užitečné pro testování SSL/TLS ve vývojovém prostředí. Chcete-li vytvořit certifikát s vlastním podpisem, spusťte následující příkazy:

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  

Krok 5: Nakonfigurujte Nginx použití SSL/TLS

Otevřete Nginx konfigurační soubor pro web, který chcete zabezpečit:

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

Chcete-li povolit SSL, přidejte do konfiguračního souboru následující řádky:

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)  
    }  
}  

Krok 6: Otestujte a restartujte Nginx

Zkontrolujte, zda Nginx konfigurace neobsahuje nějaké chyby:

sudo nginx -t

Pokud nejsou žádné chyby, restartujte Nginx službu a použijte novou konfiguraci:

sudo systemctl restart nginx

Po dokončení bude váš web zabezpečen pomocí SSL/TLS. Upozorňujeme, že použití certifikátů podepsaných svým držitelem bude mít za následek upozornění prohlížeče na nedůvěryhodné certifikáty. Chcete-li mít důvěryhodný certifikát SSL/TLS, musíte si zakoupit nebo získat bezplatný certifikát od certifikační autority.