SSL Sertifikası

HAProxy SSL: SSL handshake failure

HAProxy'de 'SSL handshake failure' görüyorsanız sebep sertifika paketi, protokol veya şifre uyumsuzluğu olabilir. Kontrol listesi ve örnek ayar.

HAProxy günlüğündeki SSL handshake failure satırı, frontend'e gelen bir istemcinin TLS el sıkışmasını tamamlayamadığını gösterir. Bazen tek bir eski istemciden, bazen de yanlış yapılandırılmış bir sertifika paketinden kaynaklanır.

Olası nedenler

  • crt dosyası eksik: HAProxy tek PEM dosyasında sertifika, ara sertifikalar ve özel anahtarı birlikte bekler.
  • İstemci yalnızca eski protokolleri (TLS 1.0/1.1) destekliyor, sunucu bunları kapatmış.
  • Ortak şifre paketi yok.
  • SNI göndermeyen istemci ile yanlış varsayılan sertifika.
  • Backend tarafında ssl kullanılıp arka uç sertifikası doğrulanamıyor.

Doğru frontend yapısı

global
    ssl-default-bind-options ssl-min-ver TLSv1.2

frontend https_in
    bind :443 ssl crt /etc/haproxy/certs/alanadi.pem
    default_backend uygulama

Birleşik PEM dosyasını sırayla oluşturun:

cat alanadi.crt ara.crt alanadi.key > /etc/haproxy/certs/alanadi.pem
chmod 600 /etc/haproxy/certs/alanadi.pem

Adım adım doğrulama

  1. Söz dizimi: haproxy -c -f /etc/haproxy/haproxy.cfg.
  2. Dışarıdan test:
    openssl s_client -connect alanadi.com:443 -servername alanadi.com -tls1_2
    
  3. Hata belirli bir istemciden geliyorsa, o istemcinin desteklediği TLS sürümünü öğrenin; gerekiyorsa minimum sürümü bilerek değerlendirin.
  4. Logdaki istemci IP'si tarayıcıysa, şifre paketi listesini güncel bir yapılandırma üretecinin önerileriyle karşılaştırın.
  5. Yeniden yükleme: systemctl reload haproxy.

Önemli not

Ara sertifikanın bulunmaması bazı istemcilerde hata verip bazılarında vermez; bu yüzden sorun aralıklı görünür. Zincir durumunu SSL denetleme aracıyla gözden geçirin, sertifika temini için SSL ürünlerimize bakabilirsiniz.

Ek ipuçları

Birden fazla alan adı için crt yerine bir dizin verebilirsiniz: bind :443 ssl crt /etc/haproxy/certs/; HAProxy SNI'ya göre uygun sertifikayı seçer. Arka uç HTTPS ise server ... ssl verify required ca-file ... ile doğrulamayı açık tutun. Loglarda yalnızca tarama botlarından gelen kısa süreli hataları gerçek arıza saymayın.

Bu makale faydalı oldu mu?

Makale Ara

Sunucu SSL Hataları

Yardıma mı İhtiyacınız Var?

Aradığınızı bulamadıysanız destek ekibimiz size yardımcı olabilir.

Destek Talebi Aç