दूरस्थ सर्वर के साथ SSL हैंडशेक के दौरान त्रुटि


118

मेरे पास Apache2(443 पर सुन रहा है ) और एक वेब ऐप चल रहा है Tomcat7(8443 पर सुन रहा है) Ubuntu

मैंने Apache2 को रिवर्स प्रॉक्सी के रूप में सेट किया है, ताकि मैं 8443 के बजाय पोर्ट 443 के माध्यम से वेब ऐप का उपयोग करूं। इसके अलावा, मुझे एसएसएल संचार न केवल ब्राउज़र और अपाचे 2 के बीच बल्कि अपाचे 2 और टॉमकैट 7 के बीच भी होना चाहिए, इस प्रकार मैं अपाचे 2 और टॉमकैट 7 दोनों के साथ एसएसएल संचार स्थापित करता हूं। । अगर मैं सीधे tomcat7 से संपर्क करके वेब ऐप एक्सेस करने की कोशिश करता हूं, तो सब कुछ ठीक है। समस्या यह है कि जब मैं tomatat के वेब ऐप को apache2 (रिवर्स प्रॉक्सी) के माध्यम से एक्सेस करने की कोशिश करता हूं, तो ब्राउज़र में त्रुटि दिखाई देती है:

Proxy Error
The proxy server could not handle the request GET /web_app.
Reason: Error during SSL Handshake with remote server

अपाचे ने आपके द्वारा टॉमकैट पर स्थापित प्रमाण पत्र को नहीं छेड़ा है। क्या यह स्व-हस्ताक्षरित प्रमाणपत्र है? या यह एक इन-हाउस सीए द्वारा बनाया गया है?
एम.के.

2
Openssl X509 -req -days 365 -इन server.csr -signkey server.key आउट server.crt: यह स्वयं इस आदेश के साथ हस्ताक्षरित है
user2791481

3
serverfault.com/questions/356678/… मुझे लगता है कि यह वही है जो आप चाहते हैं: SSLProxyVerify कोई नहीं SSLProxyCheckPeerCN बंद
MK।

9
SSLProxyCACertificateFileसत्यापन बंद करने के बजाय, अपने निजी CA प्रमाणपत्र में सेट करना बेहतर है ।
ndbroadbent

जैसा कि इस ब्लॉग में बताया गया है कि आप एसएसएल चेक बंद कर सकते हैं।
HybrisHelp

जवाबों:


266

एमके की टिप्पणी ने मुझे सही दिशा में इशारा किया।

अपाचे 2.4 और ऊपर के मामले में, अलग-अलग चूक और एक नया निर्देश है।

मैं Apache 2.4.6 चला रहा हूं, और मुझे इसे काम करने के लिए निम्नलिखित निर्देश जोड़ना पड़ा:

SSLProxyEngine on
SSLProxyVerify none 
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

तो यह सुरक्षा को बंद कर देता है, लेकिन जब तक यातायात स्थानीय है (यानी, 127.0.0.1:8443 ) यह एक समस्या से कम होना चाहिए, है ना?
bgStack15

5
खैर, यह सुरक्षा बंद नहीं करता है inasmuch एन्क्रिप्शन चिंतित है। ट्रैफ़िक अभी भी एन्क्रिप्टेड है। यह सिर्फ एक विश्वसनीय प्राधिकारी द्वारा यह सुनिश्चित करने के लिए प्रमाण पत्र की जांच को अक्षम करता है। इसलिए यदि आप सर्वर पर भरोसा करते हैं, तो आपको कोई समस्या नहीं होनी चाहिए। लेकिन हां, स्थानीय यातायात के लिए मुझे लगता है कि आप भी ठीक हैं।
mydoghasworms

1
धन्यवाद mydoghasworms आपका निर्देश सर्वर संस्करण में काम करता है: Apache / 2.4.6। अगर किसी को httpd के संस्करण को जानना है, तो इसका उपयोग करें: httpd -V
JRichardsz

3

मेरे पास डॉकटर पर 2 सर्वर सेटअप, रिवर्स प्रॉक्सी और वेब सर्वर है। यह त्रुटि 1 वर्ष के बाद अचानक मेरी सभी वेबसाइटों के लिए होने लगी। पहले सेट करते समय, मैंने वेब सर्वर पर एक स्व-हस्ताक्षरित प्रमाण पत्र बनाया।

इसलिए, मुझे फिर से एसएसएल सर्टिफिकेट जेनरेट करना पड़ा और इसने काम करना शुरू कर दिया ...

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crt


1

ओपी के रूप में एक ही समस्या का सामना करना पड़ा:

  • सोप यूआई के माध्यम से सीधे पहुंचने पर टॉमकैट ने प्रतिक्रिया दी
  • Html फ़ाइलों को लोड नहीं किया
  • जब अपाचे गुणों का उपयोग पिछले उत्तर द्वारा किया गया था, तो वेब-पेज दिखाई दिया, लेकिन AngularJS को HTTP प्रतिक्रिया नहीं मिल सकी

टॉम्कट एसएसएल प्रमाणपत्र की समय सीमा समाप्त हो गई थी जबकि एक ब्राउज़र ने इसे सुरक्षित रूप से दिखाया था - अपाचे प्रमाण पत्र समाप्ति से दूर था। Tomcat KeyStore फ़ाइल को अद्यतन करने से समस्या हल हो गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.