HAProxy - ইউআরআই ভিত্তিক একটি ভিন্ন ওয়েব সার্ভারে ফরোয়ার্ড করুন


14

নিম্নলিখিত কনফিগারেশন সহ আমার এইচটিটিপি ফার্ম রয়েছে:

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

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

উত্তর:


23

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

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

আপনি যদি কোনও ইউআরআই বা ডিরেক্টরিটির সাথে মেলে করতে চান তবে আমি 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

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


আরে, আপনার উত্তরটি এখনই দেখেছে। আমি ইতিমধ্যে এটি একই সমাধানটি ব্যবহার করে ইতিমধ্যে সমাধান করেছি। আপনার উত্তরের জন্য ধন্যবাদ!
— সাগি মালাচি

এই লিঙ্কটি আর বেঁচে নেই। তবে এটি এখনও এখানে দেখা যায়: web.archive.org/web/20160404161136/http://www.techrawr.com/2009/…
— জেগডসফট

1
@ পরবর্তী লোকাল ধন্যবাদ - আমি লিঙ্কটি আপডেট করেছি। আমি আগের ডোমেনটির মেয়াদ শেষ হতে দিয়েছি, তবে এটি উপরের আপডেট হওয়া লিঙ্কটির একটি উপনাম ছিল।
— ম্যাট বেকম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.