Nginx SSL/TLS'yi açık olarak yapılandırmak için Ubuntu şu adımları izleyebilirsiniz:
1. Adım: Kurun Nginx
Yüklemediyseniz Nginx, yüklemek için aşağıdaki komutları çalıştırın:
sudo apt update
sudo apt install nginx
2. Adım: OpenSSL'yi kurun
OpenSSL kurulu değilse, aşağıdaki komutu kullanarak kurun:
sudo apt install openssl
3. Adım: SSL sertifika dosyaları için bir dizin oluşturun
SSL sertifika dosyalarını depolamak için bir dizin oluşturun:
sudo mkdir /etc/nginx/ssl
4. Adım: Kendinden imzalı SSL/TLS sertifikaları oluşturun(İsteğe bağlı)
Bir sertifika yetkilisinden alınan SSL sertifikalarını kullanmıyorsanız, OpenSSL ile kendinden imzalı sertifikalar oluşturabilirsiniz. Bu, bir geliştirme ortamında SSL/TLS'yi test etmek için kullanışlıdır. Kendinden imzalı bir sertifika oluşturmak için aşağıdaki komutları çalıştırın:
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
5. Adım: Nginx SSL/TLS kullanmak için yapılandırın
Nginx Güvenliğini sağlamak istediğiniz web sitesi için yapılandırma dosyasını açın:
sudo vi /etc/nginx/sites-available/your_domain
SSL'yi etkinleştirmek için yapılandırma dosyasına aşağıdaki satırları ekleyin:
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)
}
}
6. Adım: Yapılandırmayı etkinleştirin ve yeniden başlatın Nginx
Yapılandırmayı etkinleştirmek için sites-available
yapılandırma dosyasından to konumuna sembolik bir bağlantı oluşturun: sites-enabled
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
Yapılandırmada herhangi bir hata olup olmadığını kontrol edin Nginx:
sudo nginx -t
Hata yoksa, Nginx yeni yapılandırmayı uygulamak için hizmeti yeniden başlatın:
sudo systemctl restart nginx
Tamamlandığında, web siteniz SSL/TLS ile güvence altına alınacaktır. Kendinden imzalı sertifikaların kullanılmasının, tarayıcının güvenilmeyen sertifikalar hakkında uyarı vermesine neden olacağını unutmayın. Güvenilir bir SSL/TLS sertifikasına sahip olmak için bir sertifika yetkilisinden ücretsiz bir sertifika satın almanız veya edinmeniz gerekir.