আমি 2 অ্যাপাচি সার্ভারের সামনে লোডবালেন্সার হিসাবে কনফিগার করা অ্যাপাচি (2.4) সার্ভার ব্যবহার করছি। লোডবালেন্সার এবং ব্যাকএন্ডের মধ্যে যখন আমি HTTP সংযোগগুলি ব্যবহার করি এটি ঠিকঠাক কাজ করে তবে https ব্যবহার করা কার্যকর হয় না। লোডবালেন্সারের কনফিগারেশন:
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
<Proxy balancer://testcluster>
BalancerMember https://[Backend1]:443/test
BalancerMember https://[Backend2]:443/test
</Proxy>
ProxyPass /test balancer://testcluster
ব্যাকএন্ডে কেবলমাত্র এখন স্ব-স্বাক্ষরিত শংসাপত্র রয়েছে যার কারণে শংসাপত্র যাচাইকরণ অক্ষম করা আছে।
লোডবালেন্সারের ত্রুটি-লগের মধ্যে নিম্নলিখিতটি রয়েছে:
[proxy:error] [pid 31202:tid 140325875570432] (502)Unknown error 502: [client ...] AH01084: pass request body failed to [Backend1]:443 ([Backend1])
[proxy:error] [pid 31202:tid 140325875570432] [client ...] AH00898: Error during SSL Handshake with remote server returned by /test/test.jsp
[proxy_http:error] [pid 31202:tid 140325875570432] [client ...] AH01097: pass request body failed to [Backend1]:443 ([Backend1]) from [...] ()
ব্রাউজারে ত্রুটি-পৃষ্ঠাতে রয়েছে:
Proxy Error
The proxy server could not handle the request GET /test/test.jsp.
Reason: Error during SSL Handshake with remote server
আমি ইতিমধ্যে উল্লিখিত হিসাবে HTTP প্রোটোকল এবং পোর্ট 80 কাজ করে কনফিগারেশন পরিবর্তন। এছাড়াও ক্লায়েন্ট এবং লোডবালেন্সারের কাজের মধ্যে https সংযোগগুলি, সুতরাং লোডবালেন্সারের এসএসএল মডিউলটি সঠিকভাবে সেটআপ করা হয়েছে বলে মনে হয়। Https এর মাধ্যমে সরাসরি ব্যাকএন্ডে সংযোগ স্থাপন করলে কোনও ত্রুটি হয় না।
আপনার সময় জন্য আগাম ধন্যবাদ
সম্পাদনা: আমি এটি আবিষ্কার করেছি, সমস্যাটি হচ্ছে আমার শংসাপত্রগুলির সাধারণ নামটি সার্ভারের নামের সাথে মেলে না। আমি ভেবেছিলাম এসএসএল প্রক্সিভেরিফাইফাই কোনওটির কারণে এই অমিলটি উপেক্ষা করা হবে না, তবে তা হয় না। অ্যাপাচি ২.৪.৫ এর আগে এই চেকটি SSLProxyCheckPeerCN বন্ধ ব্যবহার করে অক্ষম করা যেতে পারে তবে উচ্চতর সংস্করণগুলিতে (আমি ২.৪..7 ব্যবহার করছি) SSLProxyCheckPeerName বন্ধও নির্দিষ্ট করা দরকার।
এসএলপ্রোক্সিচেক্পেরনামের জন্য অ্যাপাচি ডকুমেন্টেশন
কাজের কনফিগারেশনটি দেখতে এরকম দেখাচ্ছে:
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
<Proxy balancer://testcluster>
BalancerMember https://[backend1]:443/test
BalancerMember https://[backend1]:443/test
</Proxy>
ProxyPass /test balancer://testcluster
দুর্ভাগ্যক্রমে আমি খ্যাতি অভাবের জন্য আমার নিজের প্রশ্নের উত্তর দিতে পারি না তাই আমি আমার প্রশ্নটি সম্পাদনা করেছি, আমি আশা করি যে এটি একই সমস্যার সম্মুখীন হয়ে এমন কাউকে সহায়তা করে