HAProxy : ACL सेटिंग2024/05/28 |
HAProxy ACL सेट करने के नियमों के अनुसार बैकएंड सर्वर पर अनुरोध वितरित करना संभव है।
यह उदाहरण निम्न प्रकार से पर्यावरण पर आधारित है।
आपके द्वारा HAProxy सर्वर पर ACL सेट किए गए होस्टनाम या डोमेन नाम के अनुरोध प्राप्त करने के लिए आपको DNS सेट करने की आवश्यकता है। -----------+-------------+ | | |10.0.0.30 | +----------+-----------+ | | [ dlp.srv.world ] | | | HAProxy | | +----------------------+ | | -------------+-----------+--------------+---------- | | | |10.0.0.51 | |10.0.0.52 +-----------+----------+ | +-----------+----------+ | [ node01.srv.world ] | | | [ node02.srv.world ] | | Web Server#1 | | | Web Server#2 | +----------------------+ | +----------------------+ | -------------+-----------+--------------+---------- | | |10.0.0.53 |10.0.0.31 +-----------+----------+ +-----------+----------+ | [ node03.srv.world ] | | [ www.srv.world ] | | Web Server#3 | | Web Server#4 | +----------------------+ +----------------------+ |
[1] |
ACL का सिंटैक्स इस प्रकार है।
acl <aclname> <criterion> [flags] [operator] [<value>] ...
<aclname> के लिए, [operator] के लिए अपनी पसंद का कोई भी @ACL नाम निर्दिष्ट करें, कुछ मानदंड एक ऑपरेटर का समर्थन करते हैं।
दूसरों के लिए, नीचे आधिकारिक दस्तावेज़ देखें।
⇒ https://www.haproxy.com/documentation/hapee/latest/onepage/#7.3.6
निम्नलिखित मानदंड और झंडों की सूची दी गई है जिनका अक्सर उपयोग किए जाने की उम्मीद है।
|
[2] | HAProxy कॉन्फ़िगर करें। |
root@dlp:~#
vi /etc/haproxy/haproxy.cfg # अंत में जोड़ें frontend http-in bind *:80 option forwardfor # ACL सेट करें # HTTP अनुरोध शीर्षलेख में [Host] [node01.srv.world] है acl host_node01 hdr(Host) -i node01.srv.world # HTTP अनुरोध हेडर में [Host] [node02] से शुरू होता है acl host_node02 hdr_beg(Host) -i node02 # HTTP अनुरोध शीर्षलेख में [@Host] में [develop] शामिल है acl host_node03 hdr_sub(Host) -i develop # HTTP अनुरोध शीर्षलेख में [Host] का डोमेन नाम [virtual.host] है acl host_virtual_host hdr_dom(Host) -i virtual.host # HTTP अनुरोध में PATH [/work] से शुरू होता है acl path_workdir path -m beg /work # HTTP अनुरोध में PATH में [test] शामिल है acl path_testdir path_sub -i test # HTTP अनुरोध में क्वेरी में [script] शामिल है acl query_script query -m sub script # स्रोत क्लाइंट आईपी पता [10.0.0.5/32] है acl src_ip src -m ip 10.0.0.5/32 # प्रत्येक एसीएल के लिए कार्रवाई निर्धारित करें use_backend www_node01 if host_node01 || path_workdir use_backend www_node02 if host_node02 || path_testdir use_backend www_node03 if host_node03 || query_script use_backend www_default if host_virtual_host || src_ip default_backend www_default backend www_node01 server node01 10.0.0.51:80 check backend www_node02 server node02 10.0.0.52:80 check backend www_node03 server node03 10.0.0.53:80 check backend www_default server www_default 10.0.0.31:80 check systemctl reload haproxy |
[3] | प्रत्येक मिलान पैटर्न के साथ फ्रंटएंड HAproxy सर्वर तक पहुंचने के लिए सामान्य रूप से काम करने की पुष्टि करें। |
Sponsored Link |
|