Let's Encrypt ile ücretsiz SSL kurulumu, bugün bir web sitesini HTTPS'e geçirmenin en hızlı ve en yaygın yoludur. Kâr amacı gütmeyen Let's Encrypt sertifika otoritesi, tarayıcıların tamamı tarafından tanınan sertifikaları ücretsiz dağıtır; resmi istemci Certbot ise alma ve yenileme sürecini birkaç komuta indirger. Bu rehberde Ubuntu/Debian tabanlı bir sunucuda Nginx ve Apache için kurulumu adım adım yapacağız.
Başlamadan Önce Gerekenler
- Sunucuya root veya sudo yetkili SSH erişimi.
- Alan adınızın A kaydının sunucunuzun IP adresine yönlendirilmiş olması (Let's Encrypt, doğrulama sırasında alan adınıza erişir).
- Güvenlik duvarında 80 ve 443 portlarının açık olması. UFW kullanıyorsanız:
sudo ufw allow 80,443/tcp
Let's Encrypt sertifikaları 90 gün geçerlidir. Bu kısa süre bilinçli bir tasarım kararıdır: otomatik yenilemeyi teşvik eder ve ele geçirilen anahtarların etki süresini kısaltır. Certbot yenilemeyi otomatikleştirdiği için pratikte ek iş çıkarmaz.
Adım 1: Certbot Kurulumu
Ubuntu ve Debian'da en basit yol, dağıtım deposundan kurmaktır. Nginx kullanıyorsanız:
sudo apt update
sudo apt install certbot python3-certbot-nginx
Apache kullanıyorsanız eklenti paketini değiştirin:
sudo apt install certbot python3-certbot-apache
Certbot ekibinin önerdiği alternatif kurulum yöntemi snap'tir; daha güncel sürüm ister ve dağıtımınızda snap varsa şu şekilde kurabilirsiniz:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Adım 2: Nginx için Sertifika Alma
Tek komut hem sertifikayı alır hem de Nginx yapılandırmanızı HTTPS için otomatik düzenler:
sudo certbot --nginx -d alanadi.com -d www.alanadi.com
Komut çalışırken sizden bir e-posta adresi ister (yenileme ve güvenlik bildirimleri için), kullanım koşullarını onaylamanızı bekler ve HTTP isteklerinin HTTPS'e yönlendirilip yönlendirilmeyeceğini sorar. Yönlendirmeyi seçmeniz önerilir. İşlem bittiğinde https://alanadi.com adresine girip tarayıcıdaki kilit simgesini kontrol edin; sertifika ayrıntılarında verenin (issuer) Let's Encrypt olduğunu görmelisiniz.
Arka planda olan şudur: Certbot, ACME protokolü üzerinden Let's Encrypt sunucularına başvurur; Let's Encrypt de alan adınızın gerçekten sizin kontrolünüzde olduğunu doğrulamak için http://alanadi.com/.well-known/acme-challenge/ altında Certbot'un oluşturduğu geçici bir dosyayı okur. Bu yüzden alan adının sunucunuza yönelmiş ve 80 portunun açık olması şarttır.
Certbot'un Nginx eklentisi, server_name yönergesi alan adınızla eşleşen sunucu bloğunu bulur; ssl_certificate ve ssl_certificate_key satırlarını otomatik ekler. Sertifika dosyaları /etc/letsencrypt/live/alanadi.com/ dizininde tutulur.
Adım 3: Apache için Sertifika Alma
Apache'de süreç birebir aynıdır, yalnızca eklenti adı değişir:
sudo certbot --apache -d alanadi.com -d www.alanadi.com
Certbot, ilgili sanal konak (VirtualHost) yapılandırmasını bulup SSL yönergelerini ekler ve isteğe bağlı HTTP-HTTPS yönlendirmesini kurar.
Alternatif: Webroot Yöntemi
Web sunucusu yapılandırmanıza Certbot'un dokunmasını istemiyorsanız, yalnızca sertifika dosyalarını alıp yapılandırmayı kendiniz yapabilirsiniz:
sudo certbot certonly --webroot -w /var/www/alanadi.com -d alanadi.com -d www.alanadi.com
Burada -w ile verdiğiniz dizin, sitenizin kök dizinidir; Certbot doğrulama dosyasını buradaki .well-known/acme-challenge/ yoluna yazar. Komut tamamlandığında sertifika yollarını Nginx yapılandırmanıza elle eklersiniz:
ssl_certificate /etc/letsencrypt/live/alanadi.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/alanadi.com/privkey.pem;
Adım 4: Otomatik Yenilemeyi Doğrulayın
Paket kurulumları, yenilemeyi otomatik çalıştıran bir systemd zamanlayıcısı veya cron görevi ekler. Önce zamanlayıcının aktif olduğunu kontrol edin:
systemctl list-timers | grep certbot
Ardından yenileme sürecini gerçek sertifikaya dokunmadan test edin:
sudo certbot renew --dry-run
Komut hatasız tamamlanıyorsa kurulumunuz tamamdır; sertifikalar süresi yaklaştığında kendiliğinden yenilenir. Mevcut sertifikalarınızı ve kalan günleri görmek için:
sudo certbot certificates
Joker (Wildcard) Sertifikalar ve DNS-01 Doğrulaması
*.alanadi.com biçiminde, tüm alt alan adlarını kapsayan joker sertifika almak da mümkündür; ancak bu sertifikalar yalnızca DNS-01 doğrulama yöntemiyle verilir. DNS-01'de Certbot, alan adınızın DNS'ine _acme-challenge adında geçici bir TXT kaydı eklemenizi ister:
sudo certbot certonly --manual --preferred-challenges dns -d "*.alanadi.com" -d alanadi.com
Elle TXT kaydı eklemek her 90 günde bir tekrarlanması gereken zahmetli bir iştir; bu yüzden joker sertifika kullanacaksanız DNS sağlayıcınız için bir Certbot DNS eklentisi (örneğin Cloudflare için python3-certbot-dns-cloudflare) kurup süreci tamamen otomatikleştirmeniz önerilir. Yalnızca birkaç alt alan adınız varsa, joker yerine hepsini -d parametreleriyle tek sertifikada toplamak çoğu zaman daha pratiktir.
Sık Karşılaşılan Sorunlar
dig +short alanadi.com çıktısının sunucu IP'nizi gösterdiğinden emin olun.--dry-run ile yapın; üst üste başarısız gerçek istek göndermekten kaçının.http:// ile çağrılıyordur. Kaynak adreslerini https:// olarak güncelleyin.-d parametresiyle kullandığınız tüm varyantları (kök ve www) eklemeyi unutmayın.Kurulum Sonrası Küçük Dokunuşlar
Sertifika çalıştıktan sonra sitenizdeki tüm dahili bağlantıların https:// kullandığını doğrulayın, varsa CDN ve harici servis ayarlarındaki adresleri güncelleyin. HTTP'den HTTPS'e kalıcı (301) yönlendirmenin aktif olduğunu test edin. WordPress gibi bir CMS kullanıyorsanız Ayarlar > Genel bölümündeki site adreslerini de https:// olarak güncellemeyi unutmayın.
Daha sıkı güvenlik isteyenler, tarayıcıya siteye her zaman HTTPS ile bağlanmasını söyleyen HSTS başlığını ekleyebilir; ancak bu başlığı yayınlamadan önce tüm alt alan adlarınızın HTTPS üzerinden sorunsuz çalıştığından emin olun, çünkü tarayıcılar bu tercihi belirttiğiniz süre boyunca hatırlar.
Bu rehberdeki adımlarla Let's Encrypt SSL kurulumu çoğu sunucuda 15 dakikayı geçmez; karşılığında hem ziyaretçi güvenliği hem tarayıcı uyumluluğu hem de arama motoru algısı açısından kalıcı kazanım elde edersiniz. Sertifika otoritesinin çalışma modeli ve ACME protokolü hakkında daha fazla bilgi için letsencrypt.org adresindeki belgeleri inceleyebilirsiniz.
Yorumlar (0)
Henüz yorum yapılmamış. İlk yorumu siz yapın!
Yorum Yazın