मैं PingAccess को प्रॉक्सी के रूप में सेट करने की कोशिश कर रहा हूं (चलो पीए होस्ट को कॉल करें pagateway) वेब सत्र को साझा करने वाले कुछ अनुप्रयोगों के लिए। मैं चाहता हूं कि सभी पहुंच पीए पैगेटवे के माध्यम से आएं और एचटीटीपीएस का उपयोग करें, लेकिन बैक एंड सिस्टम एचटीटीपीएस नहीं हैं।

मेरे पास दो साइट परिभाषित हैं, app1:8080 और app2:8080। दोनों "सुरक्षित" = नहीं और "लक्ष्य होस्ट हेडर का उपयोग करें" = हां पर सेट हैं।

मेरे पास पोर्ट 5000 और 5001 पर परिभाषित श्रोता हैं जो दोनों "सुरक्षित" = हां पर सेट हैं।

पहली समस्या मुझे यह मिली कि जब मैं या तो ऐप को इस तरह एक्सेस करता हूं (उदाहरण के लिए https://pagateway:5000), तो सफलतापूर्वक PingFederate के साथ प्रमाणित करने के बाद, मैं अंत में वास्तविक अंतर्निहित होस्ट नाम (जैसे http://app1:8080) पर रीडायरेक्ट हो रहा हूं। , जिसका अर्थ है कि ऐप के साथ किसी भी बाद की बातचीत पिंगएक्ट के माध्यम से नहीं है। नेटवर्क से बाहर के उपयोगकर्ताओं के लिए वे ऐसा नहीं कर पाएंगे क्योंकि app1 होस्ट भी दृश्यमान या सुलभ नहीं होगा।

मुझे लगा कि शायद मुझे "टार्गेट होस्ट हेडर का उपयोग करें" को झूठा करने की आवश्यकता है, लेकिन क्रोम ने मुझे एक फाइल डाउनलोड करने का संकेत दिया है जिसमें NAK, ETX, ETX, NUL, STX, STX कोड हैं, और PA लॉग में मुझे एक SSL त्रुटि मिलती है:

2015-11-20 11:13:33,718 DEBUG [6a5KYac2dnnY0ZpIl-3GNA] com.pingidentity.pa.core.transport.http.HttpServerHandler:180 - IOException reading sourceSocket
    javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710)
    ...

मैं निश्चित रूप से अनिश्चित हूं कि SSL त्रुटि किस भाग से आ रही है (ब्राउज़र और pagateway, या pagateway और app1 से। मैं अनुमान लगा रहा हूँ कि app1 को अप्रत्याशित होस्ट हेडर से परेशानी हो रही है ...

एक अन्य भिन्नता में मैंने PA श्रोता पर एसएसएल को बंद कर दिया (मुझे भी पिंगफ़ेयर क्लाइंट सेटिंग्स में पिंगएक्स्ट कॉल-बैक यूआरएल को बदलना होगा http)। लेकिन जब मैंने इसे http://pagateway:5000 के माध्यम से एक्सेस किया तो मुझे ब्राउज़र में एक सामान्य पिंगफ्रेडरेट त्रुटि संदेश और PA लॉग में एक अलग त्रुटि मिली:

2015-11-20 11:37:25,764 DEBUG [DBxHnFjViCgLYgYb-IrfqQ] com.pingidentity.pa.core.interceptor.flow.InterceptorFlowController:148 - Invoking request handler: Scheme Validation for Request to [pagateway:5000] [/]
2015-11-20 11:37:25,764 DEBUG [DBxHnFjViCgLYgYb-IrfqQ] com.pingidentity.pa.core.interceptor.flow.InterceptorFlowController:200 - Exception caught.  Invoking abort handlers
com.pingidentity.pa.sdk.policy.AccessException: Invalid request protocol.
    at com.pingidentity.pa.core.interceptor.SchemeValidationInterceptor.handleRequest(SchemeValidationInterceptor.java:61)

किसी को भी मुझे पता है कि मैं क्या गलत कर रहा हूँ? मैं वास्तविक सर्वर नाम के पुनर्निर्देशन के बारे में आश्चर्यचकित हूं, ईमानदार होने के लिए, लेकिन उसके बाद मैं यहां से जाने के बारे में चिंतित हूं।

किसी भी सहायता की सराहना की जाएगी।

1
ChrisC 20 नवम्बर 2015, 03:59

1 उत्तर

सबसे बढ़िया उत्तर

क्या आपने इस पर हमारा समर्थन से संपर्क किया है? यह कुछ ऐसा लग रहा है, जिसे थोड़ा गहरा करने की आवश्यकता होगी - लेकिन कुछ उच्च स्तरीय सुझाव जो मैं कर सकता हूं:

बैकएंड साइट पर रीडायरेक्ट हो रहा है यह निर्धारित करने के लिए ब्राउज़र ट्रेस पर एक नज़र डालें। आमतौर पर ऐसा इसलिए होता है क्योंकि बैकएंड वेब सर्वर से रीडायरेक्ट में एक लोकेशन हेडर होता है जो (स्वभाव से) एक पूर्ण URL होता है, लेकिन बाहरी रूप से सामना करने वाले होस्टनाम के बजाय इसे इंगित करता है।

इसका एक सामान्य समाधान टारगेट होस्ट हैडर को गलत तरीके से सेट करना है - इसलिए यह ब्राउज़र से अनमॉडिफाइड रिक्वेस्ट प्राप्त करेगा, और बैकेंड सर्वर को खुद को उस रूप में प्रतिनिधित्व करने के लिए पता होना चाहिए (यदि यह प्रॉक्सी के पीछे अच्छी तरह से व्यवहार करता है)।

यदि बैकएंड सर्वर ऐसा नहीं कर सकता (जो ऐसा लगता है कि ऐसा नहीं कर सकता है) - आपको उस एप्लिकेशन पर पुनर्लेखन नियम सौंपने पर ध्यान देना चाहिए। उनके बारे में अधिक विवरण यहां उपलब्ध हैं: https://support.pingidentity.com/s/document-item?bundleId=pingaccess-52&topicId=reference%2Fui%2Fpa_c_Rewrite_Rules_Overview.html। विशेष रूप से "रिवाइटर रिस्पांस हेडर नियम" HTTP रीडायरेक्ट में स्थान हेडर को फिर से लिखेगा।

FYI करें - "अमान्य अनुरोध प्रोटोकॉल।" त्रुटि जो आप अपने विवरण के नीचे देख रहे हैं, वह आपके परिभाषित एप्लिकेशन पर "आवश्यकता HTTPS" ध्वज के कारण हो सकती है।

1
Scott T. 23 जुलाई 2019, 23:30