Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bilgi Bankası

Anasayfa Bilgi Bankası Sunucu/VPS/VDS Nginx SSL Sertifikası Yükleme

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR

Nginx SSL Sertifikası Yükleme

SSL (Secure Sockets Layer) sertifikaları, web siteniz ile ziyaretçileriniz arasındaki iletişimi şifreleyerek güvenli hale getirir. Bu, özellikle hassas bilgilerin (kredi kartı bilgileri, kişisel veriler vb.) aktarıldığı durumlarda kritik öneme sahiptir. Nginx, yüksek performanslı bir web sunucusudur ve SSL sertifikalarını kullanarak web sitenizin güvenliğini sağlamak oldukça kolaydır. Bu kapsamlı kılavuzda, Nginx'e SSL sertifikası yükleme sürecini adım adım inceleyeceğiz.

1. SSL Sertifikası Nedir ve Neden Gereklidir?

SSL (Secure Sockets Layer), internet üzerindeki iletişimi şifreleyerek verilerin güvenli bir şekilde iletilmesini sağlayan bir protokoldür. SSL sertifikası ise, bir web sitesinin kimliğini doğrulayan ve ziyaretçilerle sunucu arasındaki bağlantıyı şifreleyen dijital bir sertifikadır. Günümüzde, web sitenizin güvenliği için SSL sertifikası kullanmak neredeyse zorunlu hale gelmiştir. İşte SSL sertifikasının neden gerekli olduğuna dair bazı önemli nedenler:

  • Veri Şifreleme: SSL sertifikası, web siteniz ile ziyaretçileriniz arasındaki iletişimi şifreleyerek hassas verilerin (kullanıcı adı, şifre, kredi kartı bilgileri vb.) güvenli bir şekilde iletilmesini sağlar.
  • Kimlik Doğrulama: SSL sertifikası, web sitenizin kimliğini doğrulayarak ziyaretçilerinizin doğru web sitesine bağlandığından emin olmasını sağlar.
  • SEO (Arama Motoru Optimizasyonu): Google gibi arama motorları, SSL sertifikası kullanan web sitelerine öncelik verir. Bu nedenle, SSL sertifikası kullanmak web sitenizin arama motoru sıralamasını iyileştirebilir.
  • Güvenilirlik: SSL sertifikası, web sitenizin güvenilirliğini artırır ve ziyaretçilerinizin web sitenize güvenmesini sağlar.
  • Uyum: Bazı sektörlerde (e-ticaret, finans vb.), SSL sertifikası kullanmak yasal bir zorunluluktur.

1.1 SSL Sertifika Türleri

Farklı ihtiyaçlara yönelik çeşitli SSL sertifika türleri bulunmaktadır. İşte en yaygın SSL sertifika türleri:

  • Domain Validated (DV) SSL: En temel SSL sertifika türüdür. Sadece alan adının sahipliğini doğrular. Hızlı ve uygun maliyetlidir.
  • Organization Validated (OV) SSL: DV SSL'e göre daha kapsamlı bir doğrulama süreci içerir. Alan adının yanı sıra organizasyonun da bilgilerini doğrular. Daha fazla güven sağlar.
  • Extended Validation (EV) SSL: En yüksek güvenlik seviyesini sunan SSL sertifika türüdür. Organizasyonun kimliğini en detaylı şekilde doğrular ve tarayıcıda yeşil adres çubuğu gösterir.
  • Wildcard SSL: Tek bir sertifika ile bir alan adının tüm alt alan adlarını (örneğin, *.example.com) korur.
  • Multi-Domain SSL (SAN SSL): Tek bir sertifika ile birden fazla alan adını korur.

1.2 SSL Sertifikası Nasıl Edinilir?

SSL sertifikasını çeşitli yollarla edinebilirsiniz:

  • Ücretli SSL Sertifikaları: Comodo, DigiCert, Sectigo gibi güvenilir sertifika sağlayıcılarından ücretli SSL sertifikası satın alabilirsiniz.
  • Ücretsiz SSL Sertifikaları: Let's Encrypt gibi sertifika sağlayıcılarından ücretsiz SSL sertifikası edinebilirsiniz. Let's Encrypt, otomatikleştirilmiş ve açık kaynaklı bir sertifika otoritesidir.

2. Nginx Kurulumu ve Temel Yapılandırma

Nginx'e SSL sertifikası yüklemeden önce, Nginx'in sunucunuzda kurulu ve doğru şekilde yapılandırılmış olması gerekmektedir. Bu bölümde, Nginx kurulumunu ve temel yapılandırmasını adım adım inceleyeceğiz.

2.1 Nginx Kurulumu (Örnek: Ubuntu)

Ubuntu veya Debian tabanlı bir sistem kullanıyorsanız, aşağıdaki komutları kullanarak Nginx'i kurabilirsiniz:


sudo apt update
sudo apt install nginx

Kurulum tamamlandıktan sonra, Nginx'in çalışıp çalışmadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz:


sudo systemctl status nginx

Eğer Nginx çalışmıyorsa, aşağıdaki komutla başlatabilirsiniz:


sudo systemctl start nginx

2.2 Temel Nginx Yapılandırması

Nginx'in ana yapılandırma dosyası genellikle `/etc/nginx/nginx.conf` konumunda bulunur. Web sitenizin yapılandırma dosyası ise genellikle `/etc/nginx/sites-available/` dizininde bulunur ve `/etc/nginx/sites-enabled/` dizinine sembolik bağlantı ile etkinleştirilir.

Yeni bir web sitesi için yapılandırma dosyası oluşturmak için aşağıdaki adımları izleyebilirsiniz:

  1. `/etc/nginx/sites-available/` dizininde yeni bir yapılandırma dosyası oluşturun (örneğin, `example.com`):
    
    sudo nano /etc/nginx/sites-available/example.com
        
  2. Aşağıdaki temel yapılandırmayı dosyaya ekleyin:
    
    server {
        listen 80;
        server_name example.com www.example.com;
    
        root /var/www/example.com;
        index index.html index.htm;
    
        location / {
            try_files $uri $uri/ =404;
        }
    }
        
  3. `/etc/nginx/sites-enabled/` dizinine sembolik bağlantı oluşturarak yapılandırmayı etkinleştirin:
    
    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
        
  4. Nginx yapılandırmasını kontrol edin:
    
    sudo nginx -t
        
  5. Nginx'i yeniden başlatın:
    
    sudo systemctl restart nginx
        

3. SSL Sertifikası Oluşturma veya Edinme

Nginx'e SSL sertifikası yüklemek için öncelikle bir SSL sertifikası edinmeniz gerekmektedir. Bu bölümde, hem ücretsiz (Let's Encrypt) hem de ücretli SSL sertifikası edinme yöntemlerini inceleyeceğiz.

3.1 Let's Encrypt ile Ücretsiz SSL Sertifikası Oluşturma

Let's Encrypt, ücretsiz ve otomatikleştirilmiş bir SSL sertifika otoritesidir. Let's Encrypt ile SSL sertifikası oluşturmak için Certbot adlı bir araç kullanabilirsiniz.

  1. Certbot'u kurun:
    
    sudo apt install certbot python3-certbot-nginx
        
  2. Certbot'u çalıştırın ve alan adınızı belirtin:
    
    sudo certbot --nginx -d example.com -d www.example.com
        
  3. Certbot, Nginx yapılandırmanızı otomatik olarak güncelleyecek ve SSL sertifikasını yükleyecektir.

Certbot, SSL sertifikasını otomatik olarak yenilemek için bir cron job oluşturacaktır. Sertifikalar genellikle 90 gün geçerlidir ve Certbot bunları otomatik olarak yeniler.

3.2 Ücretli SSL Sertifikası Edinme ve Dosyaların Hazırlanması

Ücretli bir SSL sertifikası satın aldıysanız, sertifika sağlayıcınız size aşağıdaki dosyaları sağlayacaktır:

  • Sertifika Dosyası (example.com.crt veya example.com.pem): Web sitenizin sertifikasını içerir.
  • Ara Sertifika Dosyası (ca-bundle.crt veya ca.pem): Sertifika zincirini tamamlamak için gereklidir.
  • Özel Anahtar Dosyası (example.com.key): Sertifikayı oluşturmak için kullanılan özel anahtarı içerir.

Bu dosyaları sunucunuzda güvenli bir konuma kopyalayın (örneğin, `/etc/ssl/certs/` ve `/etc/ssl/private/` dizinleri).

4. Nginx'e SSL Sertifikası Yükleme

SSL sertifikasını edindikten sonra, Nginx yapılandırmanızı güncelleyerek SSL'i etkinleştirebilirsiniz. Bu bölümde, Nginx yapılandırmasının nasıl güncelleneceğini adım adım inceleyeceğiz.

4.1 Nginx Yapılandırma Dosyasını Güncelleme

`/etc/nginx/sites-available/example.com` dosyasını açın ve aşağıdaki gibi güncelleyin:


server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    root /var/www/example.com;
    index index.html index.htm;

    ssl_certificate /etc/ssl/certs/example.com.crt;
    ssl_certificate_key /etc/ssl/private/example.com.key;
    ssl_trusted_certificate /etc/ssl/certs/ca-bundle.crt; # Gerekliyse

    location / {
        try_files $uri $uri/ =404;
    }
}

Açıklamalar:

  • listen 80: HTTP (80 portu) isteklerini dinler ve HTTPS'e (443 portu) yönlendirir.
  • listen 443 ssl: HTTPS (443 portu) isteklerini dinler ve SSL'i etkinleştirir.
  • ssl_certificate: Sertifika dosyasının yolunu belirtir.
  • ssl_certificate_key: Özel anahtar dosyasının yolunu belirtir.
  • ssl_trusted_certificate: Ara sertifika dosyasının yolunu belirtir. (Gerekliyse)

Önemli: Sertifika ve anahtar dosyalarının yollarını doğru şekilde belirttiğinizden emin olun.

4.2 Nginx'i Yeniden Başlatma

Yapılandırma dosyasını güncelledikten sonra, Nginx'i yeniden başlatarak değişikliklerin etkinleşmesini sağlayın:


sudo nginx -t
sudo systemctl restart nginx

Nginx'i yeniden başlatmadan önce `nginx -t` komutuyla yapılandırmayı kontrol etmeniz önemlidir. Herhangi bir hata varsa, Nginx yeniden başlatılamaz.

5. SSL Yapılandırmasını Optimize Etme

SSL sertifikasını yükledikten sonra, Nginx yapılandırmanızı optimize ederek güvenliği ve performansı artırabilirsiniz. Bu bölümde, bazı önemli optimizasyon tekniklerini inceleyeceğiz.

5.1 Güçlü Şifreleme Algoritmaları Kullanma

Nginx, çeşitli şifreleme algoritmalarını destekler. Güvenliği artırmak için güçlü ve güncel şifreleme algoritmalarını kullanmanız önemlidir. `ssl_ciphers` direktifini kullanarak kullanılacak şifreleme algoritmalarını belirleyebilirsiniz:


ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;

5.2 TLS Protokolünü Yapılandırma

TLS (Transport Layer Security), SSL'in halefidir ve daha güvenli bir protokoldür. Nginx'te TLS protokolünü etkinleştirmek ve hangi TLS sürümlerinin destekleneceğini belirlemek için `ssl_protocols` direktifini kullanabilirsiniz:


ssl_protocols TLSv1.2 TLSv1.3;

5.3 HSTS (HTTP Strict Transport Security) Etkinleştirme

HSTS, tarayıcıları web sitenize her zaman HTTPS üzerinden bağlanmaya zorlayan bir güvenlik mekanizmasıdır. HSTS'yi etkinleştirmek için aşağıdaki `add_header` direktifini kullanabilirsiniz:


add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

Açıklamalar:

  • max-age: HSTS'nin ne kadar süreyle geçerli olacağını (saniye cinsinden) belirtir.
  • includeSubDomains: HSTS'nin alt alan adları için de geçerli olacağını belirtir.
  • preload: Web sitenizin HSTS preload listesine eklenmesini sağlar. Bu, tarayıcıların web sitenize ilk kez bağlandıklarında bile HTTPS kullanmasını sağlar.

5.4 OCSP Stapling Etkinleştirme

OCSP (Online Certificate Status Protocol) Stapling, sunucunun sertifika geçerliliğini düzenli olarak kontrol ederek tarayıcıların sertifika geçerlilik kontrolü yapmasını gerektirmez. Bu, performansı artırır ve gizliliği korur. OCSP Stapling'i etkinleştirmek için aşağıdaki direktifleri kullanabilirsiniz:


ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/ssl/certs/ca-bundle.crt;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

5.5 SSL Oturum Önbelleğini Yapılandırma

SSL oturum önbelleği, sunucunun SSL oturumlarını önbelleğe alarak tekrar tekrar SSL el sıkışması yapmasını engeller. Bu, performansı artırır. SSL oturum önbelleğini yapılandırmak için aşağıdaki direktifleri kullanabilirsiniz:


ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

6. SSL Sertifikası Yenileme

SSL sertifikaları belirli bir süre (genellikle 90 gün veya 1 yıl) için geçerlidir. Sertifikanızın süresi dolmadan önce yenilemeniz gerekmektedir. Bu bölümde, SSL sertifikasının nasıl yenileneceğini inceleyeceğiz.

6.1 Let's Encrypt Sertifikasını Yenileme

Let's Encrypt sertifikaları genellikle 90 gün geçerlidir. Certbot, sertifikaları otomatik olarak yenilemek için bir cron job oluşturacaktır. Ancak, sertifikayı manuel olarak yenilemek isterseniz, aşağıdaki komutu kullanabilirsiniz:


sudo certbot renew

Bu komut, süresi dolmak üzere olan tüm Let's Encrypt sertifikalarını yenileyecektir.

6.2 Ücretli SSL Sertifikasını Yenileme

Ücretli bir SSL sertifikası satın aldıysanız, sertifika sağlayıcınız size sertifikanızın süresi dolmadan önce bir yenileme bildirimi gönderecektir. Sertifikanızı yenilemek için sertifika sağlayıcınızın talimatlarını izleyin.

Sertifikayı yeniledikten sonra, yeni sertifika ve anahtar dosyalarını sunucunuza yükleyin ve Nginx yapılandırmanızı güncelleyin.

7. Hata Ayıklama ve Sorun Giderme

SSL sertifikası yükleme sürecinde veya sonrasında çeşitli sorunlarla karşılaşabilirsiniz. Bu bölümde, yaygın sorunları ve çözümlerini inceleyeceğiz.

7.1 "SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line" Hatası

Bu hata, Nginx'in sertifika veya anahtar dosyasını okuyamadığı anlamına gelir. Bu genellikle dosya yollarının yanlış belirtilmesinden veya dosyaların bozuk olmasından kaynaklanır. Dosya yollarını kontrol edin ve dosyaların doğru olduğundan emin olun.

7.2 "SSL: error:140A900F:SSL routines:SSL_CTX_load_verify_locations:system lib" Hatası

Bu hata, Nginx'in ara sertifika dosyasını (ca-bundle.crt) okuyamadığı anlamına gelir. Dosya yolunu kontrol edin ve dosyanın doğru olduğundan emin olun. Ara sertifika dosyasının doğru sürümünü kullandığınızdan emin olun.

7.3 Tarayıcıda "Güvenli Değil" Uyarısı

Tarayıcınız web sitenizde "Güvenli Değil" uyarısı gösteriyorsa, aşağıdaki nedenlerden kaynaklanabilir:

  • Sertifika Geçersiz: Sertifikanızın süresi dolmuş veya geçersiz olabilir. Sertifikanızın geçerli olduğundan emin olun.
  • Karışık İçerik: Web sitenizde HTTPS üzerinden yüklenmeyen bazı kaynaklar (resimler, stil dosyaları vb.) olabilir. Tüm kaynakların HTTPS üzerinden yüklendiğinden emin olun.
  • Yanlış Yapılandırma: Nginx yapılandırmanızda bir hata olabilir. Yapılandırmanızı kontrol edin ve doğru olduğundan emin olun.

7.4 SSL Test Araçları

SSL yapılandırmanızı test etmek ve olası sorunları tespit etmek için çeşitli çevrimiçi araçlar kullanabilirsiniz. İşte bazı popüler SSL test araçları:

8. Gerçek Hayattan Örnekler ve Vaka Çalışmaları

Örnek 1: E-ticaret Sitesi Güvenliği

Bir e-ticaret sitesi, müşteri kredi kartı bilgilerini ve kişisel verilerini korumak için SSL sertifikası kullanmak zorundadır. EV SSL sertifikası kullanarak, tarayıcıda yeşil adres çubuğu göstererek müşterilerin güvenini artırabilir ve dolandırıcılık riskini azaltabilir.

Örnek 2: Blog Sitesi SEO Optimizasyonu

Bir blog sitesi, arama motoru sıralamasını iyileştirmek ve ziyaretçi güvenini artırmak için SSL sertifikası kullanabilir. Let's Encrypt ile ücretsiz SSL sertifikası kullanarak, site güvenliğini kolayca sağlayabilir ve SEO performansını artırabilir.

Vaka Çalışması: Müşteri Veri İhlali Önleme

Bir şirketin web sitesi, SSL sertifikası olmadan çalıştığı için müşteri verileri ihlal edildi. Saldırganlar, kullanıcı adı, şifre ve kredi kartı bilgilerini ele geçirdi. Bu olaydan sonra, şirket SSL sertifikası yükledi, güvenlik önlemlerini artırdı ve müşteri güvenini yeniden kazanmak için çaba gösterdi.

9. Sık Sorulan Sorular

  • S1: Neden SSL sertifikası kullanmalıyım?
  • C1: SSL sertifikası, web siteniz ile ziyaretçileriniz arasındaki iletişimi şifreleyerek verilerin güvenli bir şekilde iletilmesini sağlar, web sitenizin kimliğini doğrular, SEO performansını artırır ve ziyaretçi güvenini artırır.
  • S2: Hangi tür SSL sertifikası seçmeliyim?
  • C2: SSL sertifikası türü, web sitenizin ihtiyaçlarına ve bütçenize bağlıdır. DV SSL, temel güvenlik için uygundur. OV SSL, daha fazla güven sağlar. EV SSL, en yüksek güvenlik seviyesini sunar. Wildcard SSL, alt alan adlarını korur. Multi-Domain SSL, birden fazla alan adını korur.
  • S3: Let's Encrypt güvenli mi?
  • C3: Evet, Let's Encrypt güvenlidir. Güvenilir bir sertifika otoritesidir ve birçok web sitesi tarafından kullanılmaktadır.
  • S4: SSL sertifikamın süresi doldu, ne yapmalıyım?
  • C4: SSL sertifikanızın süresi dolduysa, hemen yenilemeniz gerekmektedir. Aksi takdirde, web sitenizde "Güvenli Değil" uyarısı görünebilir ve ziyaretçilerinizin güvenini kaybedebilirsiniz.
  • S5: HSTS'yi etkinleştirmek güvenli mi?
  • C5: Evet, HSTS'yi etkinleştirmek güvenlidir ve web sitenizin güvenliğini artırır. Ancak, HSTS'yi etkinleştirmeden önce web sitenizin tamamen HTTPS üzerinden çalıştığından emin olun. Aksi takdirde, web siteniz erişilemez hale gelebilir.

10. Sonuç ve Özet

Bu kapsamlı kılavuzda, Nginx'e SSL sertifikası yükleme sürecini adım adım inceledik. SSL sertifikasının ne olduğunu, neden gerekli olduğunu, farklı SSL sertifika türlerini, SSL sertifikasının nasıl edinileceğini, Nginx'e SSL sertifikasının nasıl yükleneceğini, SSL yapılandırmasının nasıl optimize edileceğini, SSL sertifikasının nasıl yenileneceğini ve yaygın sorunların nasıl giderileceğini öğrendik.

SSL sertifikası kullanmak, web sitenizin güvenliğini sağlamak ve ziyaretçilerinizin güvenini artırmak için kritik öneme sahiptir. Bu kılavuzu takip ederek, Nginx web sunucunuzda SSL'i kolayca etkinleştirebilir ve web sitenizin güvenliğini en üst düzeye çıkarabilirsiniz.

SSL Sertifika Türü Doğrulama Seviyesi Güvenlik Seviyesi Kullanım Alanları Maliyet
Domain Validated (DV) Alan Adı Sahipliği Temel Bloglar, Kişisel Web Siteleri Düşük
Organization Validated (OV) Alan Adı ve Organizasyon Bilgileri Orta Kurumsal Web Siteleri, Küçük İşletmeler Orta
Extended Validation (EV) En Kapsamlı Organizasyon Doğrulaması Yüksek E-ticaret Siteleri, Finans Kuruluşları Yüksek
Wildcard Alan Adı ve Tüm Alt Alan Adları Temel/Orta Birden Fazla Alt Alan Adı Olan Web Siteleri Orta
Multi-Domain (SAN) Birden Fazla Alan Adı Temel/Orta Birden Fazla Alan Adı Olan Web Siteleri Orta
SSL Yapılandırma Optimizasyonu Açıklama Faydaları
Güçlü Şifreleme Algoritmaları Güvenli ve güncel şifreleme algoritmaları kullanmak Daha yüksek güvenlik, saldırılara karşı direnç
TLS Protokolü Yapılandırması TLS 1.2 ve 1.3 gibi güncel TLS sürümlerini kullanmak Daha güvenli iletişim, eski ve güvensiz protokollerden kaçınma
HSTS (HTTP Strict Transport Security) Tarayıcıları her zaman HTTPS üzerinden bağlanmaya zorlamak Man-in-the-middle saldırılarını önleme, güvenliği artırma
OCSP Stapling Sunucunun sertifika geçerliliğini düzenli olarak kontrol etmesi Daha hızlı bağlantı, gizliliği koruma
SSL Oturum Önbelleği SSL oturumlarını önbelleğe almak Performansı artırma, sunucu yükünü azaltma

Aradığınız Bilgiyi Bulamıyor musunuz?

Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,

Bir Destek Talebi Oluşturun.
Faydalı Buldunuz mu?
(3393 defa görüntülendi. / 134 kişi faydalı buldu.)

Ürün ve hizmetlerimiz hakkında daha detaylı bilgi almak için hemen arayın.

Top