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.