मैं जिस विशिष्ट परिदृश्य से निपट रहा हूं वह एक एडब्लूएस लोचदार लोड बैलेंसर के पीछे एक वेबसाइकिल कनेक्शन से कनेक्ट करने का प्रयास कर रहा है, जबकि http/tcp के बजाय https/ssl को लागू करता है।मैं कैसे पता लगा सकता हूं कि एक एसएसएल कनेक्शन से एक टीसीपी कनेक्शन अग्रेषित किया गया है?
http/s से टीसीपी/एसएसएल अपग्रेड को सक्षम करने के लिए, लोड बैलेंसर पर प्रोटोकॉल को 443 पर HTTPS की बजाय पोर्ट 80 और एसएसएल पर HTTP के बजाय टीसीपी पर सेट किया गया है, जिनमें से दोनों को उदाहरण पर भेजा जाता है टीसीपी का उपयोग कर 80 का बंदरगाह।
Amazon Elastic load balancer is not populating x-forwarded-proto header
यह किसी भी आने वाले अनुरोधों 301ing की अगली चुनौती बनाता है:
हालांकि, टीसीपी/एसएसएल के लिए प्रोटोकॉल स्थापित करने का एक पक्ष प्रभाव नहीं रह गया है x-forwarded-proto
हैडर सेट हो जाता है कि, जैसा कि यहाँ का अनुभव है एचटीएमएल/एसएसएल को कुछ हद तक समस्याग्रस्त करने के लिए http/tcp का उपयोग करना, क्योंकि यह आम तौर पर x-forwarded-proto
शीर्षलेख का निरीक्षण करने पर निर्भर करता है।
स्थिति के विनिर्देशों पर थोड़ा और विवरण: इसमें एक उल्का.जेएस प्रक्रिया के साथ एक डॉकर कंटेनर मौजूद है, जो एक एडब्लूएस लोचदार बीनस्टॉक एप्लिकेशन के भीतर बदले में रहता है (जिसमें डिफ़ॉल्ट रूप से एक निजिनक्स प्रॉक्सी परत है , लेकिन यह डॉकर के उपयोग के कारण सुलभ नहीं है जो डॉकर हब से कंटेनर परिभाषा खींचता है), जो उपर्युक्त ईएलबी के पीछे बैठता है।
आखिरकार मुझे हेडर का निरीक्षण करना छोड़ दिया गया है कि जब तक मैं ईएलबी, नग्गीक्स और डॉकर एजेंट परतों के माध्यम से अनुरोध चला गया हूं, तब तक मेरे आवेदन के लिए उपलब्ध है, क्लाइंट द्वारा किए गए मूल अनुरोध के साथ काम करने की कोशिश कर रहा है http या https
आने वाली https://
अनुरोध हेडर:
{
host: 'whatever.elasticbeanstalk.com',
'x-real-ip': '999.99.99.99',
'x-forwarded-for': '999.99.99.99',
'cache-control': 'max-age=0',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'accept-encoding': 'gzip, deflate, sdch',
'accept-language': 'en-US,en;q=0.8'
}
आने वाली http://
अनुरोध हेडर:
{
host: 'whatever.elasticbeanstalk.com',
'x-real-ip': '999.99.99.99',
'x-forwarded-for': '999.99.99.99',
'cache-control': 'max-age=0',
accept: 'image/webp,image/*,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'accept-encoding': 'gzip, deflate, sdch',
'accept-language': 'en-US,en;q=0.8',
'if-none-match': '"141699-1446507991000"',
'if-modified-since': 'Mon, 02 Nov 2015 23:46:31 GMT'
}
इन कि थोड़ा उपयोगी लग रहा है की केवल एक ही upgrade-insecure-requests
हैडर है, लेकिन इस
What is the "Upgrade-Insecure-Requests" HTTP header?
के आधार पर मैं यकीन है कि यह नहीं है हूँ।
शायद मैं कुछ याद कर रहा हूँ लेकिन ...
अच्छा समाधान जोशुआ आज रात इसी तरह की कॉन्फ़िगरेशन के साथ लड़ रहा है। इसे आज़माएं, धन्यवाद! – boom
काम करता है, यह इस समस्या का एक बहुत ही सरल चालाक समाधान है। हर कोई अन्य समाधान प्रॉक्सी और कॉन्फ़िगरेशन की परतों पर निर्भर था। इसे साझा करने के लिए फिर से धन्यवाद। – boom
@ जोशुआ अगर मैं 80 पर टीसीपी को एचटीटीपीएस अग्रेषित करता हूं, तो वेबसाईट काम करेगा? या यह सिर्फ लंबे मतदान के लिए गिर जाएगी? –