मैं एक अपाचे (2.4) सर्वर का उपयोग कर रहा हूं जो 2 अपाचे सर्वरों के सामने लोडबेलर के रूप में कॉन्फ़िगर किया गया है। लोडबॉलर और बैकएंड के बीच 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 कनेक्शन भी काम करता है, इसलिए लोडबॉलर का ssl मॉड्यूल ठीक से सेटअप होने लगता है। Https के माध्यम से बैकएंड से सीधे जुड़ने से भी कोई त्रुटि नहीं होती है।
आपके समय के लिए आपका अग्रिम धन्यवाद
संपादित करें: मुझे यह समझ में आया, समस्या यह है कि मेरे प्रमाणपत्र सामान्य नाम सर्वर नाम से मेल नहीं खाते हैं। मुझे लगा कि SSLProxyVerify कोई भी इस मिसमैच को नजरअंदाज नहीं करेगा, लेकिन ऐसा नहीं है। 2.4.5 अपाचे से पहले इस चेक को SSLProxyCheckPeerCN से बंद करके अक्षम किया जा सकता है लेकिन उच्चतर संस्करणों पर (मैं 2.4.7 का उपयोग कर रहा हूं) SSLProxyCheckPeerName बंद को भी निर्दिष्ट करने की आवश्यकता है।
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
दुर्भाग्य से मैं प्रतिष्ठा की कमी के लिए अपने स्वयं के प्रश्न का उत्तर नहीं दे सकता हूं इसलिए मैंने अपना प्रश्न संपादित किया, मुझे आशा है कि इससे किसी को भी समस्या का सामना करने में मदद मिलेगी