Ana sayfa / Blog

← Bloga dön Kurulum Rehberi

Linux ve NGINX için Kapsamlı SSL Kurulum Rehberi

Linux ve NGINX için Kapsamlı SSL Kurulum Rehberi

Günümüz dijital dünyasında web sitenizin güvenliği her şeyden önemlidir. Türkiye ve dünya genelindeki ziyaretçilerinize güvenli bir deneyim sunmak ve Google sıralamalarınızı (SEO) yükseltmek için SSL sertifikası kullanımı artık bir zorunluluktur. Bu rehberde, Linux sunucular üzerinde çalışan NGINX web sunucunuz için adım adım SSL kurulumunu anlatacağız.

Linux NGINX SSL Güvenliği

Neden SSL Sertifikası Kullanmalısınız?

SSL (Secure Sockets Layer), kullanıcılarınızın verilerini şifreleyerek güvende tutar. Özellikle e-ticaret siteleri, blog sayfaları ve kurumsal web siteleri için olmazsa olmazdır. Arama motorları (Google, Bing), SSL kullanan HTTPS sitelerini her zaman HTTP sitelere göre üst sıralara taşır. Bu da SEO (Arama Motoru Optimizasyonu) açısından büyük bir avantaj sağlar.

Kurulum İçin Gereksinimler

  • Bir Linux sunucu (Ubuntu, Debian, CentOS vb.)
  • Kurulmuş ve çalışan bir NGINX web sunucusu
  • Sunucuya yönlendirilmiş geçerli bir alan adı (domain)

Adım Adım Let's Encrypt ve Certbot Kurulumu

Ücretsiz ve popüler bir sertifika otoritesi olan Let's Encrypt'i ve kurulum sürecini otomatikleştiren Certbot aracını kullanacağız.

1. Certbot'u Yükleyin

Öncelikle Linux sunucunuza bağlanın ve paket yöneticinizi güncelleyerek Certbot'u NGINX eklentisi ile birlikte yükleyin. Ubuntu/Debian için:

sudo apt update
sudo apt install certbot python3-certbot-nginx

2. NGINX Yapılandırmanızı Kontrol Edin

NGINX ayar dosyanızda alan adınızın doğru tanımlandığından emin olun. Genellikle /etc/nginx/sites-available/ dizininde bulunur:

server {
    listen 80;
    server_name orneksite.com www.orneksite.com;
    # ... diğer ayarlar
}

Eğer değişiklik yaptıysanız NGINX'i yeniden başlatın:

sudo systemctl reload nginx

3. SSL Sertifikasını Alın ve Yükleyin

Aşağıdaki komutu çalıştırarak Certbot'un siteniz için sertifikayı otomatik olarak almasını ve NGINX'e uygulamasını sağlayın:

sudo certbot --nginx -d orneksite.com -d www.orneksite.com

Bu aşamada e-posta adresinizi girmeniz ve kullanım koşullarını kabul etmeniz istenecektir. İşlem tamamlandığında, Certbot sitenizin artık HTTPS üzerinden hizmet verdiğini onaylayacaktır.

Certbot SSL Başarılı Kurulum

4. Otomatik Yenilemeyi Test Edin

Let's Encrypt sertifikalarının süresi 90 gündür. Certbot, bu yenileme işlemini arka planda otomatik olarak yapan bir zamanlanmış görev (cron job) ekler. Test etmek için:

sudo certbot renew --dry-run

Eğer hata almazsanız, her şey kusursuz çalışıyor demektir.


Kurulum Sırasında Sık Karşılaşılan Hatalar ve Çözümleri

Let's Encrypt ve Certbot kurulumu her zaman sorunsuz geçmeyebilir. StackOverflow ve Reddit gibi platformlarda en çok karşılaşılan sorunlar ve çözüm yolları şunlardır:

1. "Challenge failed" / "Unauthorized" Hatası

Neden: Let's Encrypt sunucuları, alan adınızı doğrulamak için sitenize (port 80 üzerinden) ulaşamadığında bu hata ortaya çıkar. Genellikle yanlış DNS A/AAAA kayıtları veya kapalı portlar sebep olur. Çözüm: Alan adınızın sunucu IP adresinize doğru yönlendirildiğinden emin olun. Sunucu güvenlik duvarınızda (firewall) Port 80 (HTTP) ve Port 443 (HTTPS)'in dışarıdan erişime açık olduğunu kontrol edin (ufw allow 'Nginx Full').

2. "The requested Nginx plugin does not appear to be installed"

Neden: Certbot'un NGINX ayarlarını otomatik yapabilmesi için gereken eklenti sunucuda bulunmuyordur. Çözüm: python3-certbot-nginx paketini kurmanız gerekir. Ubuntu/Debian için sudo apt install python3-certbot-nginx komutunu çalıştırarak eksik paketi yükleyebilirsiniz.

3. "Problem binding to port 80" (Port Çakışması)

Neden: Certbot, NGINX eklentisi yerine "standalone" (bağımsız) modda çalıştırılmaya çalışıldığında ve o sırada NGINX hali hazırda port 80'i kullandığında meydana gelir. Çözüm: Kurulum kodunda mutlaka --nginx parametresini kullandığınızdan emin olun (sudo certbot --nginx -d orneksite.com). Eğer sadece sertifikayı almak istiyorsanız NGINX'i geçici olarak durdurabilir (sudo systemctl stop nginx) ve işlem bitince yeniden başlatabilirsiniz.


Bütün Bunlarla Uğraşmak Yerine Daha Kolay Bir Yol Var mı?

Linux sunuculara SSH ile bağlanmak, terminal komutlarıyla uğraşmak, yenileme hatalarını takip etmek ve sertifika süreçlerini tek tek sunucu bazında yönetmek oldukça zaman alıcıdır. Üstelik bir yapılandırma hatası, web sitenizin "Güvenli Değil" uyarısı vermesine ve SEO sıralamalarınızın düşmesine neden olabilir.

Tüm bu zorlukları ortadan kaldırmak için certinite.com yanınızda.

Certinite sayesinde:

  • Terminal ve karmaşık bash scriptleri ile uğraşmanıza gerek kalmaz.
  • Linux ve NGINX dahil tüm altyapınızı tek bir modern panel üzerinden yönetirsiniz.
  • Sertifika alma, yenileme ve NGINX/IIS yapılandırma işlemleri tamamen otonom olarak gerçekleşir.
  • Süresi dolmak üzere olan sertifikalar için önceden anlık bildirimler (Slack, Email) alırsınız.
  • Müşterileriniz ve projeleriniz için her zaman en üst düzey güvenliği garanti edersiniz.

Arama motorlarında üst sıralara çıkmak, GEO-hedeflenmiş kitlenize kesintisiz hizmet sunmak ve altyapı yönetimini basitleştirmek için manuel işlemlerle vakit kaybetmeyin.

Hemen Certinite'ı ücretsiz deneyin ve SSL yönetiminde bir sonraki seviyeye geçin.