ฉันได้ติดตั้ง HAProxy เรียบร้อยแล้วต่อหน้าเซิร์ฟเวอร์ HTTP ซึ่งฉันไม่สามารถควบคุมได้
เป็นไปได้ไหมที่จะกำหนดค่า HAProxy เพื่อเพิ่มSimple HTTP Authenticationให้กับเว็บไซต์ทั้งหมดโดยคำนึงถึงว่าฉันไม่สามารถกำหนดค่านี้ในแบ็กเอนด์ได้หรือไม่?
ขอบคุณ
ลาร์ส
ฉันได้ติดตั้ง HAProxy เรียบร้อยแล้วต่อหน้าเซิร์ฟเวอร์ HTTP ซึ่งฉันไม่สามารถควบคุมได้
เป็นไปได้ไหมที่จะกำหนดค่า HAProxy เพื่อเพิ่มSimple HTTP Authenticationให้กับเว็บไซต์ทั้งหมดโดยคำนึงถึงว่าฉันไม่สามารถกำหนดค่านี้ในแบ็กเอนด์ได้หรือไม่?
ขอบคุณ
ลาร์ส
คำตอบ:
ฉันต้องทำวันนี้ด้วยตัวเอง (เพราะ IIS 7.5 แปลกจริง ๆ แล้วไม่สนับสนุนการรับรองความถูกต้องกับสิ่งใดนอกจากบัญชีผู้ใช้ Windows หรือ 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/
ฉันคิดว่ามันเป็นไปได้จริง แต่ตอนนี้ฉันสามารถหาตัวอย่างเพื่อให้ได้ครึ่งทาง ...
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.
อีกครั้งฉันยังไม่ได้ทดสอบ แต่นั่นคือสิ่งที่ฉันอ่านเอกสารตามคำแนะนำที่เป็นไปได้
ฉันหวังว่าจะเพียงพอสำหรับคุณที่จะเริ่มต้น?
หากคุณต้องการทำสิ่งนี้เพื่อจุดประสงค์ในการตรวจสอบความถูกต้องของ
option httpchk
config โซลูชันที่เรียบง่ายนี้ใช้งานได้: https://stackoverflow.com/questions/13325882/haproxy-solr-healthcheck-with-authentication
frontendคำนิยามมากกว่าที่backendคุณต้องการ และrealm xxxxส่วนที่เป็นตัวเลือก