SSL'yi sonlandırmak için HAProxy ayrıca arka uç sunucusuna SSL gönderir


15

SSL'yi HAProxy'de sonlandırmak, başlıkta biraz manipülasyon yapmak, URL'yi yeniden yazmak ve trafiği yeniden şifrelemek ve arka uç sunucularına SSL olarak göndermek istiyorum?

Bunu yapmanın bir yolunu bulamıyorum. Düzenli SSL sonlandırmasını yapabilir ve arka uca düz HTTP istekleri gönderebilirim. Ancak arka uca SSL göndermem gerekiyor.

Aşağıdaki özelliklere sahip olmak istiyorum:

  • Proxy'nin arkasındaki gerçek istemci IP'sini almak için x iletilen-üstbilgilerini ayıklayın.
  • Çerez kullanarak oturum yapışkanlığını uygulayın.
  • URL yeniden yazma işlemi yapın.
  • Çerez tabanlı oturum yapışkanlığı kullanarak arka uça SSL trafiği gönderin.

SSL'yi haproxy sonunda sonlandırmazsam URL yeniden yazmayı tamamlayamıyorum.

Buradaki iyi insanlardan gelen herhangi bir yardım çok takdir edilecektir.


1
Mevcut yapılandırmanızı gönderebilir ve bize neyin işe yaramadığını söyleyebilir misiniz?
GregL

Yanıtlar:


31

Haproxy.cfg dosyasında yapılacak özel bir şey yok. HAProxy ön ucunuzda istediğiniz URL yeniden yazma ve başlık manipülasyonlarını yapılandırmanız ve ardından trafiği SSL arka ucunuza yönlendirmeniz yeterlidir. İşte kısa bir örnek:

frontend app1_ssl
    bind *:443 ssl crt /etc/haproxy/certs.d/example.com.crt crt /etc/haproxy/certs.d/ no-sslv3

    option http-server-close
    option forwardfor
    reqadd X-Forwarded-Proto:\ https
    reqadd X-Forwarded-Port:\ 443

    # set HTTP Strict Transport Security (HTST) header
    rspadd  Strict-Transport-Security:\ max-age=15768000

    # some ACLs and URL rewrites...

    default_backend             backend_app1_ssl


backend backend_app1_ssl
    server mybackendserver 127.0.0.1:4433 ssl verify none

1
Müthiş! Bunu deneyeyim. Hiçbir yerde bu "sunucu .... ssl" şey bulamadı.
oazabir

Yardımın için çok teşekkürler. Çalışmasını sağlayabildim. Ancak, SSL yapışkan çalışmak için alamadım. Yardım eder misiniz lütfen? Soru burada: serverfault.com/questions/738397/…
oazabir

Harika, yardım edebildiğim için memnunum. Cevabımı kabul etmeyi unutmayın, böylece diğerleri hemen yararlı olduğunu görebilir ;-)
Tubeless

Şifreleme ssl doğrulama yok vererek gerçekten çalışıyor mu? "Hiçbiri" olarak ayarlanırsa, sunucu sertifikası doğrulanmaz. Diğer durumda, sunucu tarafından sağlanan sertifika "ca-file" dosyasındaki CA'lar kullanılarak doğrulanır ". Birisi lütfen bunu netleştirebilir mi?
mjm

İle ssl verify noneHAProxy ve arka uç sunucusu arasındaki trafiği yine şifreli, ancak backend'in SSL sertifikasının geçerlilik kontrol edilmez.
Tubeless
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.