HAProxy के माध्यम से मूल HTTP एक्सेस प्रमाणीकरण जोड़ना संभव है?


25

मैंने HTTP सर्वर के सामने HAProxy को सफलतापूर्वक सेटअप किया है जिस पर मेरा कोई नियंत्रण नहीं है

क्या सभी साइट पर सरल HTTP प्रमाणीकरण जोड़ने के लिए HAProxy को कॉन्फ़िगर करना संभव है, यह ध्यान में रखते हुए कि मैं बैकएंड पर इसे कॉन्फ़िगर नहीं कर सकता हूं?

धन्यवाद,

लार्स

जवाबों:


36

मुझे आज खुद ऐसा करना पड़ा (क्योंकि IIS 7.5 विचित्र रूप से वास्तव में किसी भी चीज़ के खिलाफ प्रामाणिकता का समर्थन नहीं करता है, लेकिन विंडोज उपयोगकर्ता खाते या AD ...! ...

यहाँ सभी कोड है

userlist UsersFor_AcmeCorp
  user joebloggs insecure-password letmein

backend HttpServers
  .. normal backend stuff goes here as usual ..
  acl AuthOkay_AcmeCorp http_auth(UsersFor_AcmeCorp)
  http-request auth realm AcmeCorp if !AuthOkay_AcmeCorp

मैंने इसे यहाँ थोड़ा बेहतर बताया: http://nbevans.wordpress.com/2011/03/03/cultural-learnings-of-ha-proxy-for-make-benefit/


2
+1 केवल यह जोड़ना चाहता था कि आप चाहें तो अंतिम पंक्तियों को एक frontendपरिभाषा में जोड़ सकते backendहैं। और realm xxxxभाग वैकल्पिक है।
उपराष्ट्रपति

मैंने इसे लागू किया लेकिन क्या होता है कि हर बाद की एपीआई कॉल पर मुझे प्रमाणीकरण के लिए पॉपअप मांगना पड़ता है। यह अनुपयोगी हो जाता है। वहाँ वैसे भी जहाँ यह एक बार पूछा जाता है तो बाकी कॉल के लिए कैश किया जाता है? यह बहुत मददगार होगा।
शशांक

2

मुझे लगता है कि यह वास्तव में संभव है, लेकिन अभी मैं आपको केवल आधा पाने के लिए एक उदाहरण पा सकता हूं ...

http://haproxy.1wt.eu/download/1.4/doc/configuration.txt आपकी बाइबिल है।

अनुभाग 3.4 देखें (उपयोगकर्ता सूची)

यह शुरू होता है:

केवल प्रमाणित और अधिकृत उपयोगकर्ताओं को अनुमति देकर फ्रंट / बैकएंड / सुनने वाले अनुभागों या http आँकड़ों तक पहुँच को नियंत्रित करना संभव है । ऐसा करने के लिए, कम से कम एक उपयोगकर्ता सूची बनाना और उपयोगकर्ताओं को परिभाषित करना आवश्यक है।

यह अनुभाग बताता है कि उपयोगकर्ता सूची कैसे सेट करें। उस अनुभाग में उदाहरण काफी विस्तृत है ताकि यदि आपको आवश्यकता हो तो कॉपी करें।

इसके बाद, यह पता लगाने की आवश्यकता है कि इसे कैसे लागू किया जाए ... मुझे लगता है कि इसका उत्तर खंड 7.5.3 में निहित है (परत 7 पर मिलान)

मुझे लगता है कि यह एक acl में निम्नलिखित का उपयोग करने के रूप में सरल हो सकता है:

http_auth(userlist)
http_auth_group(userlist) <group> [<group>]*
  Returns true when authentication data received from the client matches
  username & password stored on the userlist. It is also possible to
  use http_auth_group to check if the user is assigned to at least one
  of specified groups.

दोबारा, मैंने इसका परीक्षण नहीं किया है, लेकिन यह है कि मैंने सुझाव के रूप में दस्तावेज़ीकरण पढ़ा है।

मुझे आशा है कि आपको आरंभ करने के लिए पर्याप्त है?


अच्छा चिल्लाना, मुझे लगता है मैं बस अब यह करने के लिए इस्तेमाल कर रहा हूँ!
प्राइस

हालाँकि इसे फिर से देखते हुए, ऐसा लगता है कि यह महीनों में अपडेट नहीं किया गया है ... मैंने उस और पाठ की दीवार के बीच विशिष्ट परिवर्तनों की जाँच नहीं की है, लेकिन मान लें कि कुछ है।
प्राइज

1
वह 'बेहतर' बाइबिल लिंक 404'ing है। इससे भी बेहतर यह haproxy.org/#docs होगा । वहाँ आप HTML / पाठ मैनुअल उपहार पाते हैं।
ग्लेन प्लास

मैनुअल पर प्राप्त करने के लिए लिंक: cbonte.github.io/haproxy-dconv
slm

1

यदि आप ऐसा प्रमाणित करने के उद्देश्य से कर रहे हैं

option httpchk

विन्यास, यह सरल समाधान काम करता है: /programming/13325882/haproxy-solr-healthcheck-with-authentication


1
सर्वर दोष में आपका स्वागत है! हालांकि यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को यहां शामिल करना बेहतर होगा , और संदर्भ के लिए लिंक प्रदान करें।
होपलेसनब बी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.