HAProxy ile SSL'yi etkinleştirme

2016 yılında piyasaya sürülen HAProxy 1.5 sürümü, Stunnel veya Pound gibi ekstra araçlar olmadan SSL şifreleme ve şifre çözme işlemlerini gerçekleştirebildi. HAProxy yapılandırma dosyanızı düzenleyerek, frontend bölümündeki bind satırına ssl ve crt parametrelerini ekleyerek etkinleştirin.

frontend www.mysite.com
    bind 10.0.0.3:80
    bind 10.0.0.3:443 ssl crt /etc/ssl/certs/mysite.pem
    default_backend web_servers

ssl parametresi bu dinleyici için SSL sonlandırmayı etkinleştirir. crt parametresi, PEM biçimli SSL sertifikasının konumunu tanımlar. Bu sertifika hem genel sertifikayı hem de özel anahtarı içermelidir. Bu özelliği açmak için bu kadar. Trafik şifresi çözüldükten sonra, HTTP Header değiştirmek, URL yoluna veya Ana Makineye göre yönlendirmek ve çerezleri okumak gibi HAProxy tarafından denetlenebilir ve değiştirilebilir. İletiler ayrıca şifreleme kaldırılmış olarak backend sunuculara iletilir.

SSL sonlandırmanın bazı avantajlarını kaybetmenize rağmen, verileri aktarmadan önce yeniden şifrelemeyi tercih ederseniz, arka uç bölümündeki sunucu satırlarınıza bir ssl parametresi eklemeniz yeterlidir. İşte bir örnek:

backend web_servers
    balance roundrobin
    server server1 10.0.1.3:443 check maxconn 20 ssl
    server server2 10.0.1.4:443 check maxconn 20 ssl

HAProxy, sunucuyla bağlantıyı görüştüğünde, sunucunun SSL sertifikasına güvenip güvenmediğini doğrular. Sunucu özel sertifika yetkilisi tarafından imzalanmış bir sertifika kullanıyorsa, sunucu hattına "hiçbirini doğrulama" ekleyerek doğrulama işlemini yok sayabilir veya CA sertifikasını yük dengeleyicisinde depolayabilir ve ca-file parametresi ile referans alabilirsiniz . CA PEM dosyasına kullanan bir örnek aşağıdadır:

backend web_servers
    balance roundrobin
    server server1 10.0.1.3:443 check maxconn 20 ssl ca-file /etc/ssl/certs/ca.pem
    server server2 10.0.1.4:443 check maxconn 20 ssl ca-file /etc/ssl/certs/ca.pem

Last updated