Nginx SSL Sertifikası Kurulumu: Adım Adım Rehber
Web sitenizi güvenli hale getirmenin en önemli yollarından biri SSL sertifikası kurmaktır. SSL (Secure Socket Layer), web tarayıcısı ile sunucu arasında şifrelenmiş bir bağlantı sağlar, böylece veri gizliliği ve güvenliği korunur. Nginx web sunucusu üzerinde SSL sertifikası kurmak, özellikle e-ticaret siteleri ve kullanıcı verilerinin güvenliği açısından büyük önem taşır. Bu makalede, Nginx SSL sertifikası kurulumunu adım adım anlatacağız. Eğer hala Nginx kurulu değilse, Nginx kurulumu için tıklayın ve ardından SSL sertifikası kurulumuna başlayın.
1. Adım: SSL Sertifikası Satın Alın veya Ücretsiz Let’s Encrypt Kullanın
İlk adım, bir SSL sertifikası edinmektir. Çoğu hosting sağlayıcısı SSL sertifikasını paketlerine dahil eder veya sizden ücretli olarak temin etmenizi sağlar. Alternatif olarak, Let’s Encrypt gibi ücretsiz SSL sağlayıcılarını kullanabilirsiniz. Let’s Encrypt, kısa sürede geniş bir popülerlik kazanmıştır ve ücretsiz olarak SSL sertifikası sunmaktadır.
Eğer ücretli bir sertifika tercih ettiyseniz, sertifikanızı aldıktan sonra size genellikle şu dosyalar verilir:
- Private Key: Özel anahtar dosyası (
*.key
) - Certificate: Sertifika dosyası (
*.crt
) - CA Bundle: Sertifika yetkilisinin kök sertifikası (
*.ca-bundle
)
Let’s Encrypt gibi ücretsiz bir SSL sertifikası kullanmak isterseniz, Let’s Encrypt kurulumu için tıklayın.
2. Adım: Nginx Yapılandırma Dosyalarına Erişin
Nginx sunucusunu doğru bir şekilde yapılandırabilmek için yapılandırma dosyalarını düzenlemeniz gerekiyor. Genellikle bu dosyalara şu yol ile erişebilirsiniz:
sudo nano /etc/nginx/sites-available/default
Dosya yolunuz ve dosya isimleriniz sunucu konfigürasyonunuza göre farklılık gösterebilir. Eğer farklı bir dosya konumlandırması kullanıyorsanız, gerekli yolu öğrenmek için hosting sağlayıcınızın veya Nginx belgelerinin talimatlarını kontrol edin.
3. Adım: SSL Sertifika Dosyalarını Sunucuya Yükleyin
Önceki adımda aldığınız SSL sertifikası dosyalarını sunucunuza yüklemeniz gerekiyor. Bunun için scp
veya FTP istemcisi gibi araçlar kullanabilirsiniz. Dosyalarınızı yükledikten sonra, sunucunuzda şu klasör yapısına uygun bir şekilde saklayın:
/etc/ssl/certs/
: Sertifika dosyası (*.crt
)/etc/ssl/private/
: Özel anahtar dosyası (*.key
)
Bu dizinlere dosyalarınızı koyduktan sonra, Nginx yapılandırma dosyanızda bu dosyaların yolunu belirtmeniz gerekecek.
4. Adım: Nginx Yapılandırma Dosyalarını Düzenleyin
SSL sertifikası kurulumunun çalışabilmesi için Nginx yapılandırma dosyalarını doğru bir şekilde düzenlemeniz gerekmektedir. Aşağıda, bir örnek yapılandırma gösterilmiştir:
server {
listen 80;
server_name www.example.com example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com example.com;
ssl_certificate /etc/ssl/certs/your_domain.crt;
ssl_certificate_key /etc/ssl/private/your_domain.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
location / {
root /var/www/html;
index index.html index.htm;
}
}
Bu örnek yapılandırma, HTTP isteklerini HTTPS’ye yönlendirecek ve 443 portu üzerinden SSL bağlantılarını kabul edecek şekilde ayarlanmıştır. Ayrıca, sertifika dosyaları ve anahtar dosyasının doğru yolları belirtilmiştir.
5. Adım: Nginx Konfigürasyonunu Test Edin ve Yeniden Başlatın
Yapılandırmayı düzenledikten sonra, Nginx’in doğru çalıştığından emin olmak için konfigürasyon dosyalarınızı test etmelisiniz. Bunun için aşağıdaki komutu kullanabilirsiniz:
sudo nginx -t
Eğer “syntax is ok” ve “test is successful” gibi bir mesaj alıyorsanız, her şey doğru yapılmış demektir. Ardından Nginx’i yeniden başlatmalısınız:
sudo systemctl restart nginx
Bu komutla Nginx yeniden başlatılır ve SSL sertifikası aktif hale gelir.
6. Adım: HTTPS Üzerinden Web Sitenizi Test Edin
Sunucunuz yeniden başlatıldıktan sonra, tarayıcınıza gidin ve sitenize HTTPS üzerinden erişmeye çalışın. Örneğin:
https://www.example.com
Eğer SSL sertifikası başarıyla kurulmuşsa, tarayıcıda sitenizin yanında yeşil bir kilit simgesi göreceksiniz. Bu, SSL sertifikasının düzgün bir şekilde çalıştığını gösterir.
7. Adım: Otomatik Yenileme (Opsiyonel)
Eğer Let’s Encrypt gibi ücretsiz bir SSL sertifikası kullanıyorsanız, sertifikanızın 90 günde bir yenilenmesi gerekmektedir. Bunu otomatik hale getirmek için bir cron job ayarlayabilirsiniz:
sudo crontab -e
Aşağıdaki satırı ekleyerek sertifikanızın her 60 günde bir yenilenmesini sağlayabilirsiniz:
0 0 * * 60 /usr/bin/certbot renew >> /var/log/ssl-renew.log
Bu komut ile Let’s Encrypt otomatik olarak sertifikayı yeniler ve log dosyasına sonuçları yazar.
8. Adım: HSTS (HTTP Strict Transport Security) Kurulumu
SSL sertifikasını kurduktan sonra, HTTPS üzerinden iletişimi zorunlu hale getirmek için HSTS başlıklarını eklemek isteyebilirsiniz. Aşağıdaki satırı Nginx konfigürasyon dosyanıza ekleyin:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Bu başlık, tarayıcıların her zaman HTTPS üzerinden siteye bağlanmasını zorlar ve siteyi daha güvenli hale getirir. Bu makalede Nginx üzerinde SSL sertifikası kurulumunu adım adım anlattık. Eğer henüz Nginx kurulumu yapmadıysanız, Nginx kurulumu için tıklayın ve ardından SSL sertifikası ekleme adımlarına geçebilirsiniz. Güvenli bir bağlantı sağlamak, özellikle kullanıcı verilerinin hassas olduğu durumlarda hayati öneme sahiptir.