2012-12-05 13 views
5

के कारण उपयोगकर्ताओं को वेब साइट से लॉग आउट किया जा रहा है हमारे ऑपरेटर ने हमारे वेब पोर्टल पर एक राउंड रॉबिन लोड बैलेंसर लागू किया है और ऐसा लगता है कि मैं कुछ समस्याओं का कारण बन सकता हूं जो मैं नीचे नहीं जा सकता।राउंड रॉबिन लोड बैलेंसर

मैं यह पहचानने में सक्षम हूं कि हम किस सर्वर पर हैं और जब हम साइट पर रहते हैं तो हम सर्वर ए पर रहते हैं। अगर मैं इसे 5 मिनट तक छोड़ देता हूं और दूसरा पृष्ठ आज़माता हूं तो मुझे सर्वर बी पर लॉग ऑन किया जाएगा, लॉग पेज में लॉग आउट और दिखाया गया।

मुझे यह सुनिश्चित करने के लिए मिला है कि machine.config में मशीनकी दोनों सर्वरों पर समान है और मैंने स्थानीय रूप से परीक्षण किया है कि सत्र का उपयोग नहीं किया जा रहा है - मैं सत्र को पूरी तरह से स्थानीय रूप से बंद कर सकता हूं और यह अभी भी काम करता है। मैंने दोनों सर्वरों पर सत्यापित किया है कि यह डोमेन पर एक एएसपीएक्सएथ कुकी बना रहा है, इसलिए हमें दोनों सर्वरों पर प्रमाणीकृत के रूप में वर्गीकृत किया जाना चाहिए - लेकिन हर बार जब मैं सर्वर बदलता हूं तो अपना प्रमाणीकरण खो देता रहता हूं।

लॉगिंग के कारण क्या हो सकता है पर कोई विचार? मैं अनुमान लगा रहा हूं कि एएसपीएक्सएयूटी कैसे काम करता है इसके बारे में मेरी गलतफहमी है।

उत्तर

2

सत्रों को फॉर्म प्रमाणीकरण से अलग से संभाला जाता है। इस here का एक अच्छा स्पष्टीकरण है।

लोड-संतुलित वातावरण पर प्रपत्र प्रमाणीकरण विफलताओं के लिए सबसे आम कारण मशीनकी तत्व के सिंक्रनाइज़ेशन की कमी है। आपने कहा है कि आपको यह सुनिश्चित करने के लिए सर्वर ऑपरेटर मिल गए हैं कि मशीनकी सिंक्रनाइज़ है, लेकिन क्या आपने इसे स्वयं किसी भी तरीके से सत्यापित किया है? क्या यह सभी वेब सर्वरों पर मामला है? कुछ वाणिज्यिक वेब होस्टों के साथ पिछले लेनदेन से, मैंने पाया है कि (दुर्भाग्यवश) चेहरे के मूल्य पर अपने आश्वासन लेना मुश्किल है।

जांच करने की एक और बात यह है कि यदि फॉर्म प्रमाणीकरण कॉन्फ़िगरेशन (टाइमआउट, पथ, नाम इत्यादि) सभी होस्टों पर समान है।

क्या पैच स्तर सभी होस्टों पर समान हैं? आप देख सकते हैं कि संगतता स्विच here आपकी स्थिति में लागू है या नहीं।

मान लें कि होस्टिंग सेटअप सही है, हो सकता है कि आपके पास उस पृष्ठ पर प्रारंभिक कोड है जो कुछ शर्त पूरी नहीं होने पर आपको लॉग आउट करता है?

सर्वर लॉग पर नज़र डालने का प्रयास करें और असफल पृष्ठ अनुरोध के दौरान शामिल HTTP अनुरोधों के अनुक्रम का पता लगाएं। यह एक सुराग पैदा कर सकता है।

संपादित करें: समस्या निवारण प्रपत्र प्रमाणीकरण समस्याओं का इस गाइड में विस्तृत, और काफी उपयोगी है: जो कुकीज़ पर निर्भर करता है किसी भी अन्य आवेदन कार्यक्षमता के लिए Troubleshooting Forms Authentication

+0

धन्यवाद, परेशानी शूटिंग मार्गदर्शिका ने मुझे यह स्थापित करने में मदद की है कि क्लाइंट वास्तव में एएसपीएक्सएथ कुकी नहीं भेज रहा है जब यह छोटी देरी के बाद पृष्ठ का अनुरोध कर रहा है जिसके परिणामस्वरूप सर्वर सोच रहा है कि वे प्रमाणीकृत नहीं हैं। हालांकि मैं अभी भी सोचने के लिए संघर्ष कर रहा हूं कि अगला कदम क्या है। फिडलर लॉग "टनल टू" "www.mydomain.co.uk:443" दोनों बार दिखाता है तो ऐसा क्यों नहीं होगा कि एक ही यूआरएल के रूप में और कुकी पास हो जाए? दोनों सर्वरों पर कुकी समाप्ति को "सत्र के अंत में" दिखाती है और डोमेन "https://www.mydomain.co.uk" से जुड़ी है ...जो मेरी समझ में काम करना चाहिए। – ColinRobertson

+0

मैंने आपके उत्तर को स्वीकार कर लिया है क्योंकि, जैसा कि आपने भविष्यवाणी की थी, वेब होस्ट ने मशीनकी परिवर्तनों को पूरी तरह से तैनात नहीं किया था। उन्होंने इसे फ्रेमवर्क फ़ोल्डर में बदल दिया था, लेकिन फ्रेमवर्क 64 फ़ोल्डर में नहीं बदला था। आपकी सहायता के लिए धन्यवाद. – ColinRobertson

+0

खुशी है कि यह अब आपके लिए काम कर रहा है! – Maxam

0

चेक। सर्वर बी पर वेब सर्वर सर्वर ए से आने वाली कुकीज़ को पहचान नहीं पाएगा। यदि आपके प्रमाणीकरण का कोई भी हिस्सा पॉप्युलेट होने पर कुकीज़ पर निर्भर करता है, तो इससे आपकी समस्या हो सकती है।

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

+0

मेरी समझ यह थी कि अगर सर्वर ए और सर्वर बी में एक ही मशीन कुंजी और एक ही यूआरएल था तो कुकी दोनों के बीच पारित की जाएगी। मैंने अभी पाया है कि जब मैं सर्वर के बीच स्विच करता हूं तो कुकी पारित नहीं होती है, इसलिए ऐसा लगता है कि मेरा ब्राउज़र यह तय कर रहा है कि वे एक ही यूआरएल नहीं हैं। – ColinRobertson

+0

दो चीजों की जांच करें: फिडलर के साथ या कुछ देखें कि कुकी पूरी तरह से पारित हो रही है या नहीं। यदि यह _is_ पारित किया जा रहा है, तो दो machine.config फ़ाइलों की तुलना करें। –

+0

हाँ यह मशीन था .configs समान नहीं थे। होस्ट ने फ्रेमवर्क फ़ोल्डर में machine.config को बदल दिया था, लेकिन फ्रेमवर्क 64 फ़ोल्डर नहीं। आपकी सहायता के लिए धन्यवाद – ColinRobertson

संबंधित मुद्दे