haproxy - টিসিপি মোডে আসল / রিমোট আইপি পাস করুন pass


8

আমি পারকোনা ক্লাস্টারের লোড ব্যালেন্সিং এবং আইপি ফেইলওভারের জন্য কিপলাইভডের সাথে হাইপোক্সি সেটআপ করেছি এবং যেহেতু এটি দুর্দান্ত কাজ করে আমি অন্য পরিষেবা / ডেমনের জন্য একই এলবি / ফেইলওভারটি ব্যবহার করতে চাই।

আমি এইভাবে হ্যাপ্রোক্সিটি কনফিগার করেছি:

listen my_service 0.0.0.0:4567
    mode tcp
    balance leastconn
    option tcpka
    contimeout      500000
    clitimeout      500000
    srvtimeout      500000

    server host1 xxx.xxx.xxx.xx1:4567 check port 4567 inter 5000 rise 3 fall 3
    server host2 xxx.xxx.xxx.xx2:4567 check port 4567 inter 5000 rise 3 fall 3

লোড ব্যালেন্সিং সূক্ষ্মভাবে কাজ করে তবে পরিষেবা ক্লায়েন্টদের আসল আইপিগুলির পরিবর্তে লোড ব্যালান্সারের আইপি দেখে sees এইচটিপি মোডে রিমোট আইপি বরাবর হ্যাপ্রোক্সি পাস করা বেশ সহজ তবে আমি টিসিপি মোডে কীভাবে করব? আমার ভারসাম্য লোড করা প্রয়োজন সেবারের প্রকৃতির কারণে এটি গুরুত্বপূর্ণ।

ধন্যবাদ! ভিটো


এখানে হ্যাপ্রোক্সি ১.6..6 এর সম্পূর্ণ ডকুমেন্টেশন রয়েছে সিবিএনটি.থিতুব.আইও / হাইপক্সি- ডকনভ /…

উত্তর:


3

কেবলমাত্র ভবিষ্যতের রেফারেন্সের জন্য, কিপলাইভড হ'ল ব্যালেন্সিং লোড না করার ব্যর্থতার সমাধান (সম্ভবত আপনি এলভিএস বলতে চাইছেন?)। HAProxy এর স্বচ্ছ প্রক্সি মোডের মূল আইপি প্রেরণের কোনও বিশেষ উপায়ের সাথে কিছুই করার নেই, এটি হ'ল স্বাভাবিক অ-স্বচ্ছ HTTP মোড যেখানে আপনি এটির জন্য একটি প্রমিত HTTP শিরোনাম ব্যবহার করতে পারেন।

আমার মতে মূল প্রশ্নের সঠিক উত্তরটি হ'ল: আপনি HProxy এ একটি TPROXY সক্ষম লিনাক্স কার্নেলটিতে স্বচ্ছ প্রক্সি সমর্থনটি সংকলন করতে পারেন। এটি একই TPROXY সমর্থনকারী সংস্করণ + একই মেশিনে iptables কনফিগারেশন সহ প্রকৃত সম্পূর্ণ স্বচ্ছ টিসিপি প্রক্সি সমর্থন সক্ষম করে। এর অর্থ ব্যাকএন্ড সার্ভারগুলিকে কোনও বিশেষ কনফিগারেশন লাগবে না।

দ্রষ্টব্য যে এটি আসলে HAProxy এর জন্য প্রস্তাবিত সেটআপ নয় এবং কেবলমাত্র আপনার প্রয়োজন হলে এটি ব্যবহার করা উচিত।


2

হ্যাপ্রোক্সিটির জন্য দৃশ্যত কিছুটা "স্বচ্ছ" মোড রয়েছে যা আমি কখনও দেখিনি বা এর সাথে কিছু করতে চাইনি, যা আপনি চেষ্টা করতে পারেন। অন্যথায়, আপনাকে হ্যাপ্রোক্সিটির মূল আইপি ("প্রক্সি ব্লহব্লাহ") প্রেরণের বিশেষ উপায় সম্পর্কে যা ব্যাকএন্ড পরিষেবা তা শেখানো দরকার এবং সেবারের থেকে মূল আইপিটি টানতে পরিষেবাটি নিতে হবে।

আপনি কেন হ্যাপ্রোক্সি নিয়ে বিরক্ত করছেন? আপনি ইতিমধ্যে স্থানে ধরে রেখেছেন এবং এটি সঠিক স্বচ্ছ লোড ব্যালেন্সিংও করে।


হাই, আপনার জবাবের জন্য অনেক ধন্যবাদ :) আমি 'tproxy' সমর্থন সম্পর্কে কিছু স্টাফ পড়ছি, আমার ধারণা আপনি এটি বোঝাতে চেয়েছিলেন? এছাড়াও, আমি সরাসরি এর জন্য কিপলাইভের সাথে লোড ভারসাম্য বিবেচনা করি নি। কিপালাইভড ক্লায়েন্টের আসল আইপি পাস করে?
ভিটো বোত্তা

হ্যাঁ, কীপলাইভড মূল আইপি অক্ষত রাখে, কারণ এটি একটি লোড ব্যালেন্সার, প্রক্সি নয়।
ওম্বল

2

send-proxyআপনার কনফিগারেশন (প্রতি সার্ভার) ব্যবহার করে আপনাকে টিসিপি মোডে এমনকি পুনরুদ্ধারকারী সার্ভারের পক্ষে মূল উত্স-আইপি দেবে। এটির জন্য HAProxy 1.5+ প্রয়োজন।

আপনার সম্পর্কে আরো তথ্য পেতে পারেন প্রক্সি প্রোটোকল মধ্যে HAProxy ডকুমেন্টেশন

listen my_service 0.0.0.0:4567
mode tcp
balance leastconn
option tcpka
contimeout      500000
clitimeout      500000
srvtimeout      500000

server host1 xxx.xxx.xxx.xx1:4567 send-proxy check port 4567 inter 5000 rise 3 fall 3
server host2 xxx.xxx.xxx.xx2:4567 send-proxy check port 4567 inter 5000 rise 3 fall 3

এইচআই নিলস, সমাধানটির জন্য ধন্যবাদ, তবে আমি প্রক্সি প্রেরণ করার সময় এটি ডিবিটিকে হ্রাস করে (হ্যাপ্রোক্সিটি হোস্টটি সনাক্ত করতে পারে না)
নওবি

আমার সাথে একই সাথে ডিবি-র ক্ষেত্রেও ঘটেছিল। কোন সমাধান?
পিয়াউশ

2

আপনি HAProxy কে NAT মোড হিসাবে সেট করতে পারেন যা এটি এখনও স্তর 4 এ টিসিপি মোড ব্যবহার করে তবে আইপিটিকে স্বচ্ছ করে তোলে।

HAProxy স্তর 4 লোড ব্যালেন্সিং NAT মোড


অন্যদিকে, HAPorxy স্বচ্ছ মোড লেয়ার 7 এ এইচটিটিপি মোড ব্যবহার করে, এটি এটি আপনার পয়েন্টে আঘাত করে না কারণ forwardforএইচটিটিপি মোডে ইতিমধ্যে বিকল্প রয়েছে।

HAProxy স্তর 7 লোড-ব্যালেন্সিং স্বচ্ছ প্রক্সি মোড


-4

এই কনফিগারেশনটি আমার পক্ষে কাজ করেছিল। উত্স আইপি $ _SERVER ['HTTP_X_FORWARDED_FOR'] এ পুনরুদ্ধার করা যেতে পারে:

বিশ্বব্যাপী
        [..... স্বাভাবিক জিনিস ....]   
        এসএসএল-সার্ভার-যাচাই করুন

অগ্রভাগের মূল *: 5000
        বাইন্ড *: 443 এসএসএল crt /etc/ssl/mycert_with_private_key.pem
        মোড http
        বিকল্প ফরোয়ার্ড
        পুনঃাদির এক্স-ফরওয়ার্ড-প্রোটো: ps https
        ডিফল্ট_ব্যাকেন্ড https_server

ব্যাকএন্ড https_server
        মোড http
        ভারসাম্য ন্যূনতম
        বিকল্প tcpka
        স্টিক-টেবিল টাইপ আইপ আকার 200k 30 মি শেষ হবে
        সার্ভার srv04 192.168.1.10:443 এসএসএল চেক
        সার্ভার srv05 192.168.1.11:443 এসএসএল চেক

2
এই উত্তর প্রযোজ্য নয়। সংযোগটি HTTP নয়।
দীর্ঘায়ু

আপনি কি পরামর্শ দিচ্ছেন https সংযোগটি অবশ্যই টিসিপি মোডে থাকতে হবে ?.
পেড্রো সায়াগো

না, আমি বলছি যে প্রশ্নটি টিসিপি ব্যবহার করে এবং আপনার উত্তরটি কেবলমাত্র http / গুলি প্রয়োগ করে।
দীর্ঘায়ু

ঠিক আছে, তাহলে ভাগ্য ভাল, আমি টিসিপি মোড ফরোয়ার্ডিং আইপি-তে হ্যাপ্রোক্সি সম্পর্কিত কোনও ডক খুঁজে পাইনি। অনুরোধগুলি প্রক্রিয়া করা হয় এমন স্তরটি এই তথ্যটি পাস করতে পারে না।
পেড্রো সায়াগো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.