HAProxy 500 ত্রুটি এবং / অথবা সার্ভার ডাউন এ ব্যাকআপ থেকে স্যুইচ করুন


8

আমি একটি নির্দিষ্ট কনফিগারেশন সহ কেবলমাত্র 2 টি ব্যাকএন্ড সার্ভারের সামনে একটি HAProxy সেট আপ করছি: যে কোনও অনুরোধ সার্ভার এ এ যাওয়া উচিত; তবে, সার্ভার এ যদি 5xx ত্রুটি কোডটি দেয়, সমস্ত অনুরোধটি একটি ব্যাকআপ সার্ভার বিতে যাওয়া উচিত A

আমি এই কনফিগারেশন চেষ্টা করছি:

backend example_cluster
        balance roundrobin
        option httpclose
        option forwardfor

        option httpchk HEAD /ping.html HTTP/1.0\r\nHost:www.example.com
        http-check disable-on-404
        default-server error-limit 1 on-error mark-down

        redirect scheme https if !{ ssl_fc }
        server node1 1.2.3.4:80 check observe layer7
        server node_back 5.6.7.8:443 backup ssl verify none

তবে এটি দুটি কারণে কার্যকর হয় না:

  1. সমস্ত অনুরোধগুলি সার্ভার নোড_ব্যাক (বি) এ পাঠানো হয়েছে, এমনকি নোড 1 (এ) শেষ হলে।
  2. দেখে মনে হচ্ছে যে সার্ভার এ-এর বিপরীতে কোনও HTTP চেক করা হয় না; বা আরও ভাল, সিসলগে আমি সার্ভার এ ডাউন সম্পর্কে কোনও ত্রুটি দেখতে পাচ্ছি না।

যদি আমি "অপশন httpchk" লাইনটি এবং তার ঠিক নীচে দুটি লাইন সরিয়ে ফেলি; এবং আমি সার্ভার এ "পর্যবেক্ষণ স্তর 7" অপসারণ করি; ন্যাপ এ-এর সমস্ত অনুরোধগুলি রাউটিং করে HAProxy কাজ করে তবে স্পষ্টতই, সার্ভার A যখন 500 প্রদান করে, HAProxy বি তে স্যুইচ করে না, তাই আমি ধরে নিচ্ছি যে সমস্যাটি httpchk কনফিগারেশনে থাকতে পারে।


1
এটি এনজিনেক্সের সাথে পুরোপুরি কার্যকর। প্রকৃতপক্ষে, আমি ওয়েব-ব্যালেন্সিংয়ে হ্যাপ্রোক্সি এড়িয়ে চলেছি, কারণ এনগিনেক্স আরও নমনীয় এবং সহজ, কারণ এটি একটি ওয়েব সার্ভার। তবে, যেহেতু প্রাথমিক প্রশ্নটি হ্যাপ্রোক্সি সম্পর্কিত ছিল, আমি এনজিএনএক্স সম্পর্কে উত্তর দেওয়ার অধিকার বোধ করি না। তবে আপনি যদি এটি চান, আমি পারেন। সর্বোপরি, প্রায় এক বছর কেটে গেছে, আমি মনে করি আপনি যেভাবেই কোনও সমাধান পেয়ে গেছেন।
drookie

উত্তর:



0

যেভাবে আমি আমার হ্যাপ্রোক্সিটির জন্য প্রাক-এনগিনেক্স কনফিগারেশনটি পেয়েছি এবং আমার মনে হয় আপনার এটি চেষ্টা করা উচিত:

frontend foo
    bind 192.168.0.1:9080
    option httpchk
    default_backend bar-web

backend bar-web
    mode http
    balance roundrobin
    server bar1 192.168.1.2:9080 check observe layer4 weight 50
    server bar2 192.168.1.3:9080 check observe layer4 weight 50
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.