SSL Sertifikası Nedir?
SSL (Secure Sockets Layer) sertifikası, internet üzerinden bilgi güvenliğini sağlamak amacıyla geliştirilen bir protokoldür. SSL, kullanıcı ile web sunucusu arasında şifreli bir bağlantı oluşturarak verilerin güvenli bir şekilde iletilmesini sağlar. Günümüzde, web sitelerinin güvenliği için SSL sertifikaları yaygın olarak kullanılmaktadır. Kullanıcıların verilerini korumak, arama motoru sıçramalarında daha yüksek bir sıralama almak ve genel itibarı artırmak amacıyla web siteleri SSL sertifikası edinmelidir.
Nginx Nedir?
Nginx, yüksek performanslı bir web sunucusu ve ters proxy sunucusudur. Düşük kaynak tüketimi ve yüksek performansı ile bilinirken, aynı zamanda aynı anda çok sayıda bağlantıyı yönetme yeteneğine sahiptir. HTTP, HTTPS, SMTP, POP3 ve IMAP gibi protokolleri desteklemesi nedeniyle, hem statik hem de dinamik içerikler için yaygın bir şekilde kullanılmaktadır. Nginx, SSL sertifikalarının entegrasyonunu destekler ve kurulum süreci oldukça basittir.
SSL Sertifikası Temin Etme
Öncelikle, bir SSL sertifikası edinmek gerekir. Çeşitli sertifika otoriteleri (CA – Certificate Authority) üzerinden SSL sertifikası satın alınabilir veya Let’s Encrypt gibi ücretsiz hizmetlerden faydalanılabilir. SSL sertifikası temin edildikten sonra, sertifika dosyası ve özel anahtar dosyasının bir yere kaydedilmesi önemlidir. Genellikle, bu dosyalar şu uzantılara sahiptir: `.crt`, `.pem` ve `.key`.
Nginx’e SSL Sertifikası Kurulumu
SSL sertifikasını Nginx sunucusuna kurmak için aşağıdaki adımlar izlenmelidir:
1. Gerekli Dosyaların Hazırlanması:
SSL sertifikası ve özel anahtar dosyalarının dizin yapısında doğru bir şekilde yerleştirilmesi gerekmektedir. Genellikle `/etc/ssl/certs/` ve `/etc/ssl/private/` dizinleri kullanılır. Örnek dosya isimleri:
– `example.com.crt` (Sertifika dosyası)
– `example.com.key` (Özel anahtar)
2. Nginx Yapılandırma Dosyasının Düzenlenmesi:
Nginx, yapılandırma ayarlarını genellikle `/etc/nginx/nginx.conf` veya `/etc/nginx/sites-available/default` gibi dosyalarda tutar. İlgili yapılandırma dosyası açılmalı ve SSL ile ilgili bölümler eklenmelidir. Aşağıda örnek bir yapılandırma verilmiştir:
“`nginx
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri; HTTP isteklerinin HTTPS’e yönlendirilmesi
}
server {
listen 443 ssl; SSL portu
server_name example.com www.example.com;
ssl_certificate /etc/ssl/certs/example.com.crt; Sertifika dosyası
ssl_certificate_key /etc/ssl/private/example.com.key; Özel anahtar
ssl_protocols TLSv1.2 TLSv1.3; Güvenli protokoller
ssl_ciphers HIGH:!aNULL:!MD5; Güvenli şifreleme türleri
location / {
Uygulama yapılandırması
proxy_pass http://localhost:3000;
}
}
“`
3. Yapılandırmanın Kontrol Edilmesi:
Yapılandırma dosyasında yapılan değişikliklerin doğruluğunu kontrol etmek için Nginx’in yapılandırma kontrol komutu kullanılabilir. Terminalden şu komut çalıştırılmalıdır:
“`
sudo nginx -t
“`
Herhangi bir hatanın bulunmadığına dair onay alındıktan sonra, Nginx’in yeniden başlatılması gerekmektedir.
4. Nginx’i Yeniden Başlatma:
Yapılandırmanın geçerli olması için Nginx servisi yeniden başlatılmalıdır. Bunu yapmak için aşağıdaki komut kullanılabilir:
“`
sudo systemctl restart nginx
“`
SSL Sertifikası Kurulumunun Sonuçları
SSL sertifikası Nginx’e başarıyla kurulduktan sonra, web sitesine yapılan tüm HTTPS istekleri şifrelenmiş bir biçimde gerçekleşecektir. Ayrıca, web tarayıcılarında url çubuğunda güvenlik simgesi (kilit simgesi) görüntülenecek, bu da kullanıcıların siteye olan güvenini artıracaktır. SSL sertifikasının düzenli olarak güncellenmesi ve süresinin kontrol edilmesi gerekmektedir; aksi takdirde, sertifikanın geçerlilik süresi dolduğu takdirde, güvenlik uyarıları görülebilir.
Nginx üzerinde SSL entegrasyonu, hem kullanıcı güvenliğini artırırken hem de web sitesi yöneticileri için gerekli standartları sağlamakta önemli bir rol oynamaktadır. Doğru adımların izlenmesi durumunda, SSL sertifikasının Nginx’e kurulumu etkin bir şekilde gerçekleştirilebilir.