Bu kılavuz, hafif HTTP/HTTPS ters proxy’si olan Pound üzerinde bir SSL/TLS sertifikasının nasıl kurulacağını göstermektedir. En çok operatörü şaşırtan kısmı ele alır: Pound’un beklediği tek birleşik PEM dosyasını doğru sırayla oluşturmak, ardından eski protokolleri devre dışı bırakan, Pound’u bir arka uca yönlendiren ve hizmeti yeniden başlatmadan önce yapılandırma kontrolünden geçen çalışan bir ListenHTTPS bloğu yazmak.
Bu kılavuzun hangi Pound’u hedeflediği konusunda kısa bir not: Orijinal Apsis Pound projesi Eylül 2022’de sonlandırıldı. Aktif geliştirme, Sergey Poznyakoff tarafından sürdürülen ve github.com/graygnuorg/pound adresinde bulunan çatallanmış sürüme taşındı; bu sürüm artık kanonik üst kaynak (upstream) ve güncel Linux dağıtımları tarafından paketlenen sürümdür. Aşağıdaki yönergeler, modern 4.x serisiyle eşleşmektedir.
Pound için CSR Oluşturma
CSR’nizi zaten oluşturduysanız ve verilen sertifika dosyalarına sahipseniz, Pound üzerine SSL sertifikası kurma bölümüne geçebilirsiniz.
Bir Sertifika Yetkilisi sertifikanızı vermeden önce, bir CSR (Sertifika İmzalama Talebi) göndermeniz gerekir: alan adı bilgilerinizi ve bir açık anahtarı içeren, sunucuda kalan bir özel anahtarla eşleştirilmiş küçük bir metin bloğu. İki seçeneğiniz vardır:
- CSR’yi CSR Generator aracımızla otomatik olarak oluşturun. Bu araç, hem CSR’yi hem de eşleşen özel anahtarı döndürür; bunları daha sonra sunucuya taşırsınız.
- CSR’yi OpenSSL ile sunucunun kendisinde oluşturun; bunun için Pound üzerinde CSR oluşturma eğitimimizi takip edin. Özel anahtar sunucuda kalır.
Sertifika için başvururken, —–BEGIN CERTIFICATE REQUEST—– ve —–END CERTIFICATE REQUEST—– satırları dahil olmak üzere tam CSR bloğunu yapıştırın. Göndermeden önce CSR içeriğini onaylamak isterseniz, CSR çözücümüze yapıştırın. Eşleşen özel anahtar dosyasını (genellikle yourdomain.key) güvenli bir yerde ve sadece root tarafından okunabilir şekilde saklayın; kurulum sırasında bu dosyaya ihtiyacınız olacak.
SSL Sertifikasını Pound Üzerine Kurma
CA sertifikayı verdiğinde, genellikle şunları alırsınız:
- Birincil (sunucu) sertifikanız, genellikle alan adınızın adını taşıyan bir .crt veya .pem dosyası.
- Ayrı dosyalar olarak veya tek bir .ca-bundle dosyasında paketlenmiş bir veya daha fazla ara (intermediate) sertifika.
- CSR’nizle birlikte oluşturulan özel anahtar (bir .key dosyası).
Pound, sertifikayı, ara sertifika zincirini ve şifrelenmemiş özel anahtarı içeren tek bir PEM dosyası bekler. graygnuorg kılavuzu sıralama konusunda açıktır: önce sertifika, sonra ara sertifikalar (varsa), sonra özel anahtar, bu sıra ile. Zinciri atlamak, en yaygın kurulum hatasıdır: sertifika masaüstü tarayıcısında sorunsuz görünür, ancak Android’de, iOS’te ve komut satırı istemcilerinde başarısız olur.
Adım 1: Birleşik PEM Dosyasını Oluşturma
Bu kılavuz, sertifika dosyalarının /etc/pound/ içinde hazırlandığını varsaymaktadır. Yolları kendi düzeninize göre ayarlayın. Üç dosyayı tek bir PEM dosyasına birleştirin. Aşağıdaki pipe-to-tee deseni, yönlendirmeyi root ayrıcalıklarıyla çalıştırır; bu gereklidir çünkü /etc/pound/ genellikle sadece root tarafından yazılabilir (düz bir sudo cat … > /etc/pound/… başarısız olur, çünkü kabuk çıkış dosyasını sudo çalışmadan önce normal kullanıcınız olarak açar):
cat your_domain.crt intermediate.crt your_domain.key | sudo tee /etc/pound/your_domain.pem > /dev/null
CA, ara sertifikaları tek bir .ca-bundle dosyası olarak gönderdiyse, bunun yerine şunu kullanın:
cat your_domain.crt your_domain.ca-bundle your_domain.key | sudo tee /etc/pound/your_domain.pem > /dev/null
Dosya adlarını kendinizinkiyle değiştirin. Birleşik dosya içindeki özel anahtar şifrelenmemiş olmalıdır, çünkü Pound etkileşimsiz olarak başlar ve bir parola sormaz. Oluşan dosyayı sadece root’un okuyabileceği şekilde kilitleyin:
sudo chown root:root /etc/pound/your_domain.pem
sudo chmod 600 /etc/pound/your_domain.pem
Adım 2: pound.cfg Dosyasını Düzenleme
Pound yapılandırma dosyasını açın (Debian ve Ubuntu’da genellikle /etc/pound/pound.cfg, bazı diğer dağıtımlarda /etc/pound.cfg) ve birleşik PEM dosyasına işaret eden bir ListenHTTPS bloğu ekleyin. Minimal modern bir blok şu şekilde görünür:
ListenHTTPS
Address 0.0.0.0
Port 443
Cert "/etc/pound/your_domain.pem"
# Modern TLS only: disables SSLv2, SSLv3, TLSv1.0 and TLSv1.1,
# leaving TLSv1.2 and TLSv1.3 enabled.
Disable TLSv1_1
Ciphers "ECDHE+AESGCM:ECDHE+CHACHA20:!aNULL:!MD5:!DSS"
Service
Backend
Address 127.0.0.1
Port 8080
End
End
End
Yukarıdaki yönergeler hakkında birkaç not:
- Cert, Adım 1’de oluşturduğunuz birleşik PEM dosyasını sağlar. Kılavuz, Cert‘in dinleyici içindeki diğer tüm SSL’e özgü yönergelerden önce gelmesi gerektiğini açıkça belirtir, bu nedenle onu bloğun en üstünde tutun.
- Disable, adı geçen protokolü ve ondan daha eski her protokolü kapatır. Bu nedenle Disable TLSv1_1, SSLv2, SSLv3, TLSv1.0 ve TLSv1.1’i devre dışı bırakır, TLSv1.2 ve TLSv1.3’ü aktif bırakır ki bu da güncel sektör önerileriyle uyumludur.
- Ciphers, OpenSSL şifreleme listesini ayarlar (TLS 1.2 için kullanılır; TLS 1.3 kendi şifreleme paketlerini müzakere eder). Yukarıdaki liste, proxy’yi AEAD ile modern ECDHE paketlerine kısıtlar; daha eski istemcileri desteklemeniz gerekiyorsa, ssl-config.mozilla.org adresindeki Mozilla “intermediate” profilini kullanabilirsiniz.
- Service / Backend, Pound’un şifresi çözülmüş trafiği proxy’lediği yerdir. Örnek, loopback arayüzünde (port 8080) tek bir arka uca yönlendirir; adresi ve portu uygulamanızın dinlediği şeyle değiştirin ve Pound’un yük dengelemesi yapmasını istiyorsanız daha fazla Backend bloğu ekleyin.
Pound’un düz HTTP’yi de kabul etmesini ve iletmesini istiyorsanız (tipik olarak sadece HTTPS’e yönlendirme için, bkz. Adım 4), aynı dosyaya ayrı bir ListenHTTP bloğu ekleyin.
Adım 3: Yapılandırmayı Kontrol Etme ve Pound’u Yeniden Başlatma
Hizmeti yeniden yüklemeden önce, bir yazım hatasının proxy’yi çevrimdışı bırakmaması için yapılandırma dosyasını doğrulayın. Pound’un yerleşik bir kontrol modu vardır:
sudo pound -c -f /etc/pound/pound.cfg
Başarılı olursa durum 0 ile çıkar ve hiçbir şey yazdırmaz, başarısız olursa durum 1 ile birlikte dosya ve satır bilgisi içeren bir hata mesajı verir. Açık bir “yapılandırma OK” onayı istiyorsanız -v ekleyin. Kontrol geçtiğinde, Pound’u yeni dinleyiciyi algılaması için yeniden başlatın:
sudo systemctl restart pound
systemd bulunmayan sistemlerde, bunun yerine eski init betiğini kullanın:
sudo /etc/init.d/pound restart
Hizmetin çalıştığını ve 443 numaralı portu dinlediğini doğrulayın:
sudo systemctl status pound
sudo ss -tlnp | grep ':443'
Adım 4 (önerilir): HTTP’yi HTTPS’e Yönlendirme
Düz alan adını yazan ziyaretçilerin güvenli URL’de sonlanmasını sağlamak için, her isteğe aynı yolun HTTPS sürümüne kalıcı bir yönlendirme ile yanıt veren düz bir HTTP dinleyicisi ekleyin:
ListenHTTP
Address 0.0.0.0
Port 80
Service
Redirect 301 "https://example.com$1"
End
End
example.com kısmını kendi alan adınızla değiştirin. $1 geri referansı, orijinal istek yolunu korur. sudo pound -c -f /etc/pound/pound.cfg‘yi tekrar çalıştırın, ardından hizmeti yeniden başlatın.
SSL Kurulumunu Test Etme
Sitenizi bir tarayıcıda https:// üzerinden açın ve kilit simgesinin kapalı olduğunu, sertifikanın alan adınızla eşleştiğini kontrol edin. Ardından, sertifika, zincir ve Pound’un sunduğu protokoller ve şifrelemeler hakkında anlık bir rapor için SSL Checker aracımızla daha derinlemesine bir tarama yapın. Orada temiz bir sonuç, mobil ve API istemcileri dahil olmak üzere tüm büyük platformlardaki istemcilerin sertifikaya güveneceği anlamına gelir.
Sıkça Sorulan Sorular
Orijinal Apsis projesi 2022’de terk edildi. Aktif olarak sürdürülen çatal, Sergey Poznyakoff tarafından geliştirilen ve şu anda 4.x serisinde olan graygnuorg/pound‘dur; ve bu, büyük Linux dağıtımlarının pound olarak paketlediği sürümdür. Eski 2.x serisinden bir şey çalıştırıyorsanız, güncel bir sürüme geçmeyi planlayın: bu kılavuzdaki yapılandırma yönergeleri modern çatalı varsaymaktadır.
Pound kılavuzuna göre: önce sunucu sertifikası, sonra ara sertifikalar (varsa), sonra özel anahtar, hepsi PEM kodlu, o tek dosyada. Özel anahtar parola korumalı olmamalıdır, çünkü Pound bir daemon olarak başlar ve bir parola sormasının bir yolu yoktur.
Use the Disable directive inside the ListenHTTPS block. Pound’s Disablei adı geçen protokolü ve ondan daha eski her protokolü kapatır, dolayısıyla Disable TLSv1_1, SSLv2, SSLv3, TLSv1.0 ve TLSv1.1’i devre dışı bırakır, sadece TLSv1.2 ve TLSv1.3’ü bırakır. Bu, yeni dağıtımlar için önerilen ayardır.
Evet. Pound, SNI’yi destekler, bu nedenle aynı ListenHTTPS dinleyicisi içinde birden fazla Cert ifadesi tanımlayabilirsiniz (veya Cert‘i PEM dosyalarından oluşan bir dizine yönlendirebilirsiniz). Pound, sertifikaları sırayla dolaşır ve Ortak Adı (Common Name) veya SAN’ı istenen ana bilgisayar adıyla eşleşen ilk sertifikayı sunar, bu nedenle daha spesifik sertifikaları (ana bilgisayar adlarını) joker karakterlerden önce listeleyin.
Run sudo pound -c -f /etc/pound/pound.cfg komutunu çalıştırın. -c bayrağı, yapılandırma dosyasını sözdizimi hataları için kontrol eder ve proxy’yi başlatmadan çıkar; çıkış durumu 0 OK anlamına gelir, durum 1 bir hata olduğu anlamına gelir (mesaj size hangi dosya ve satır olduğunu söyler). Açık bir başarı mesajı için -v ekleyin.
15 Mart 2026 itibarıyla, kamuya açık güvenilir SSL/TLS sertifikaları 200 gün ile sınırlandırılmıştır ve CA/Browser Forumu daha fazla azaltma planlamıştır (2027’de 100 güne ve 2029’da 47 güne). Her son kullanma tarihinden önce yukarıdaki kurulumu tekrarlamayı planlayın veya ACME ile yenilemeleri otomatikleştirin.
Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!
Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10


