Haproxy में कई SSL प्रमाणपत्र कॉन्फ़िगर करें


28

मेरा हाइप्रोक्स उदाहरण 2 डोमेन (मुख्य साइट पर XSS से बचने के लिए) कार्य करता है।

नियम कुछ इस तरह दिखते हैं

bind :443 ssl crt /etc/ssl/haproxy.pem

acl is_static   hdr_end(Host) -i example.com
acl is_api      hdr_end(Host) -i api.example.com
acl is_files    hdr_end(Host) -i example.io

redirect scheme https if !{ ssl_fc } is_static is_api

अब एसएसएल /etc/ssl/haproxy.pemडिफ़ॉल्ट प्रमाण पत्र के रूप में उपयोग करता है , जो प्रमाण पत्र के लिए है example.comऔर नहीं example.io

मैं कई डोमेन नामों के लिए सीरेट्स कैसे निर्दिष्ट कर सकता हूं?

जवाबों:


60

फ़ाइलों का कहना है कि में आप अपने सभी प्रमाण पत्र जोड़ सकते हैं haproxy1.pemऔर haproxy2.pemया आप अपने सभी पीईएम फ़ाइलों वाला कोई निर्देशिका निर्दिष्ट कर सकते हैं।

cat cert1.pem key1.pem > haproxy1.pem 
cat cert2.pem key2.pem > haproxy2.pem

प्रतिरूप डॉक्स के अनुसार

फिर विन्यास पर कुछ इस तरह का उपयोग करें:

defaults
  log 127.0.0.1 local0
  option tcplog

frontend ft_test
  mode http
  bind 0.0.0.0:443 ssl crt /certs/haproxy1.pem crt /certs/haproxy2.pem 
  use_backend bk_cert1 if { ssl_fc_sni my.example.com } # content switching based on SNI
  use_backend bk_cert2 if { ssl_fc_sni my.example.org } # content switching based on SNI

backend bk_cert1
  mode http
  server srv1 <ip-address2>:80

backend bk_cert2
  mode http
  server srv2 <ip-address3>:80

SNI के बारे में और पढ़ें

ध्यान रखें कि एसएसएल सपोर्ट हैप्रोक्सी के लिए स्टेजिंग डेवलपमेंट में है और यह भी कि इसमें जाहिर तौर पर काफी परफॉर्मेंस हिट है।

इस सूत्र में अन्य समाधानों के बारे में बात की गई है: https://stackoverflow.com/questions/10684484/haproxy-with-multiple-https-sites

उम्मीद है की यह मदद करेगा।


क्या अवमानना ​​करते समय प्रमाण / कुंजी क्रम महत्वपूर्ण है?
एरिक एगर

मुझे नहीं लगता कि यह बात होनी चाहिए, उदाहरण के लिए यदि आप एक निर्देशिका निर्दिष्ट करते हैं तो ऑर्डर मनमाना है। मैं यह सुनिश्चित करूँगा कि यदि आप एक प्रमाणपत्र शामिल करते हैं तो आप मिलान कुंजी शामिल करते हैं।
रिको

मैंने इसे आपके द्वारा सुझाए गए तरीके से सेट किया है, लेकिन haproxy बस हर डोमेन के लिए पहले सर्टिफिकेट का उपयोग करता रहता है :(
Erik Aigner

crt-listइसी परिणाम के साथ भी प्रयास किया गया
एरिक एगर

1
आआअहह हाँ! यही किया चाल!
एरिक एगर

9

अब प्रमाणपत्रों की सूची को संक्षिप्त या निर्दिष्ट करने की आवश्यकता नहीं है, बस एक फ़ोल्डर निर्दिष्ट करें:

frontend public
    bind *:443 ssl crt /etc/haproxy/ssl/

नोट: सुनिश्चित करें कि फ़ोल्डर खाली नहीं है और मान्य PEM फाइलें मौजूद हैं, अन्यथा HAProxy नहीं चलेगा।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.