HTTPS पोर्ट पर HTTP रिक्वेस्ट को रीडायरेक्ट कैसे करें?


0

HTTPS के साथ एक साधारण Tomcat 7 इंस्टॉलेशन पर, HTTPS पोर्ट पर HTTP रिक्वेस्ट भेजने से तीन कंट्रोल वर्णों की एक अजीब प्रतिक्रिया मिलती है:

$ wget -q -S -O - http://127.0.0.1:8443/
^U^C^@

[मैंने कैरट-चार संयोजन का उपयोग किया है क्योंकि मैं मूल पेस्ट नहीं कर सकता।]

यदि संभव हो तो मैं इसे बदलकर https पर पुनर्निर्देशित करना चाहता हूं या 404 या कुछ अन्य कस्टम व्यवहार वापस कर सकता हूं। क्या यह संभव है?


1
आपको कुछ ऐसी चीज़ की आवश्यकता होगी जो ग्राहक को SSL का उपयोग करने के लिए ऑटोडेट कर सके।
डेविड श्वार्ट्ज

जवाबों:


0

HTTPS समर्पित पोर्ट पर HTTP भेजना सामान्य रूप से अपेक्षित नहीं है, हालांकि संभव है। व्यवहार में, उत्पादन 80 और 443 बंदरगाहों पर चल रहा है, इसलिए यह वास्तव में एक मुद्दा नहीं है जब तक कि कोई "हैकिंग" की तरह न हो। यदि विभिन्न बंदरगाहों का उपयोग किया जाता है (उदाहरण के लिए टॉमकैट का) तो समस्या सिर्फ इसलिए उत्पन्न हो सकती है क्योंकि लोग URL के सामने "https" लिखना भूल जाएंगे।

किसी भी मामले में मानक व्यवहार वापस करना है HTTP 400 Bad Request। यह किया जाता है। Apache वेब सर्वर द्वारा।

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Reason: You're speaking plain HTTP to an SSL-enabled server port.<br />
Instead use the HTTPS scheme to access this URL, please.<br />
</p>
</body></html>

टॉम्कट टीएलएस / एसएसएल HTTP कनेक्टर स्पष्ट रूप से ऐसा नहीं करता है, और मुझे संदेह है कि यह कुछ टीएलएस हैंडशेक त्रुटि संदेश (आंशिक रूप से यहां https://stackoverflow.com/questions/7164944/unexpected-results-en-attempting-to पर उत्तर देता है) के साथ उत्तर देता है। -access-tomcat-6-https-कनेक्टर-using-http )।

उत्पादन में, एसएसएल को आमतौर पर रिवर्स प्रॉक्सी सर्वर (जैसे अपाचे) पर समाप्त किया जाता है, जो कि इस तरह के एक खराब अनुरोध को इनायत से संभालता है (जैसा कि ऊपर वर्णित है)।

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