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ınAMP ve ardından SSL sertifikası kurulumuna başlayı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:
*.key)*.crt)*.ca-bundle)Let’s Encrypt gibi ücretsiz bir SSL sertifikası kullanmak isterseniz, Let’s Encrypt kurulumu için tıklayın.
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.
Ö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.
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.
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.
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.
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.
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ınAMP 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.