Chcete-li nakonfigurovat SSL/TLS se Nginx zapnutým Ubuntu, můžete postupovat takto:
Krok 1: Nainstalujte Nginx
Pokud jste jej nenainstalovali Nginx, spusťte následující příkazy a nainstalujte jej:
sudo apt update
sudo apt install nginx
Krok 2: Nainstalujte OpenSSL
Pokud nemáte nainstalované OpenSSL, nainstalujte jej pomocí následujícího příkazu:
sudo apt 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/sites-available/your_domain
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: Povolte konfiguraci a restartujte Nginx
Vytvořte symbolický odkaz z konfiguračního souboru na, sites-available
abyste sites-enabled
povolili konfiguraci:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
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.