Sitenizi ücretsiz, otomatik yenilenen bir TLS sertifikasıyla HTTPS'e taşıyın. Nginx reverse proxy, Certbot ile sertifika alma, otomatik yenileme ve güçlü TLS ayarları — uygulamalı rehber.

HTTPS artık lüks değil, zorunluluk. Let's Encrypt ile ücretsiz, otomatik yenilenen bir sertifika alıp Nginx üzerinden sitenizi güvenli hale getirmek dakikalar sürüyor. İşte adım adım.

1) Nginx reverse proxy

Nginx, gelen istekleri arkadaki uygulamanıza (ör. bir konteynerde 8080 portu) yönlendirir. Temel bir sunucu bloğu:

server {
    listen 80;
    server_name ornek.com www.ornek.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

2) Certbot ile sertifika al

Certbot, doğrulamayı yapıp Nginx yapılandırmanıza HTTPS'i otomatik ekler:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d ornek.com -d www.ornek.com

Certbot, 80 portundan doğrulama yapar; bu yüzden alan adınızın sunucuya yönlendiğinden (DNS A kaydı) ve 80/443 portlarının açık olduğundan emin olun.

3) Otomatik yenileme

Let's Encrypt sertifikaları 90 gün geçerlidir. Certbot kurulumu genelde bir systemd zamanlayıcısı ekler; yenilemeyi test etmek için:

sudo certbot renew --dry-run

4) Güçlü TLS ayarları

  • Yalnızca TLS 1.2 ve 1.3'ü etkinleştirin; eski protokolleri kapatın.
  • HTTP'yi HTTPS'e kalıcı yönlendirin (301).
  • HSTS başlığı ekleyin: Strict-Transport-Security: max-age=31536000; includeSubDomains.

Özet

Nginx + Certbot ikilisi, ücretsiz ve otomatik yenilenen HTTPS için standart çözüm. Bir kez kurunca sertifika kendini yeniler; sizin işiniz yalnızca güçlü TLS ayarlarını doğru yapmaktır.