প্রশ্ন HAProxy - ইউআরআই ভিত্তিক একটি ভিন্ন ওয়েব সার্ভারের দিকে অগ্রসর হন


নিম্নলিখিত কনফিগারেশন সহ আমার একটি HTTP ফার্ম আছে:

listen webfarm 10.254.23.225:80
       mode http
       balance roundrobin
       cookie SERVERID insert
       option httpclose
       option forwardfor
       option httpchk HEAD /check.txt HTTP/1.0
       server webA 10.254.23.4:80 cookie A check
       server webB 10.248.23.128:80 cookie B check

আমি কিছু বিকল্প যুক্ত করতে চাই যা একটি নির্দিষ্ট ইউআরআই (যেমন / বিশেষ) এর জন্য 3 য় ওয়েব সার্ভারে সমস্ত অনুরোধ অগ্রসর করবে। আমি কিভাবে এটা করা উচিত?


13
2018-03-29 22:44


উত্স




উত্তর:


এখানে হোস্ট হেডারের উপর ভিত্তি করে লোড ব্যালেন্সিংয়ে লেখা একটি ব্লগ পোস্ট রয়েছে:

http://www.mattbeckman.com/2009/09/18/using-the-acl-in-haproxy-for-load-balancing-named-virtual-hosts/

আপনি যদি কোনও URI বা ডিরেক্টরিটির সাথে মিলতে চান তবে আমি পৃষ্ঠাটির প্রদত্ত উদাহরণে ব্যবহৃত hdr_end এর পরিবর্তে path_beg ব্যবহার করার পরামর্শ দেব। নীচে আপনার কনফিগারেশনের সাথে আপনি কীভাবে এটি করতে পারেন তার একটি উদাহরণ:

frontend http-in
    bind 10.254.23.225:80
    acl has_special_uri path_beg /special
    use_backend special_server if has_special_uri
    default_backend webfarm

backend webfarm
    balance roundrobin
    cookie SERVERID insert
    option httpchk HEAD /check.txt HTTP/1.0
    option httpclose
    option forwardfor
    server webA 10.254.23.4:80 cookie webA check
    server webB 10.248.23.128:80 cookie webB check

backend special_server
    balance roundrobin
    cookie SERVERID insert
    option httpchk HEAD /check.txt HTTP/1.0
    option httpclose
    option forwardfor
    server webC 10.0.0.1:80 cookie webC check

আশা করি এইটি কাজ করবে!


21
2018-03-30 20:38



আরে, শুধু আপনার উত্তর দেখেছি। আমি আসলেই এই একই সমাধান ব্যবহার করে সমাধান করেছি। আপনার উত্তরের জন্য ধন্যবাদ! - Saggi Malachi
এই লিঙ্ক আর জীবিত হয়। যাইহোক, এটি এখনও এখানে দর্শনীয়: web.archive.org/web/20160404161136/http://www.techrawr.com/2009/... - jaggedsoft
@ নেক্সটলোকাল ধন্যবাদ - আমি লিঙ্কটি আপডেট করেছি। আমি পূর্ববর্তী ডোমেনটি মেয়াদ শেষ করতে দিই, কিন্তু উপরের আপডেট হওয়া লিঙ্কটি এটির একটি উপনাম ছিল। - Matt Beckman