अपाचे ख़राब अनुरोध "कर्बरोस एसएसओ के साथ एक अनुरोध हेडर फ़ील्ड का आकार सर्वर सीमा से अधिक है"


9

मैं एक वेबसाइट के माध्यम से सक्रिय निर्देशिका उपयोगकर्ताओं के लिए एक एसएसओ की स्थापना कर रहा हूं जो एक अपाचे (Apache2 पर SLES 11.1) पर चलता है, और फ़ायरफ़ॉक्स के साथ परीक्षण करते समय यह सब ठीक काम करता है। लेकिन जब मैं इंटरनेट एक्सप्लोरर 8 (विंडोज 7) में वेबसाइट खोलने की कोशिश करता हूं, तो मुझे बस यही मिलता है

"खराब अनुरोध

आपके ब्राउज़र ने एक अनुरोध भेजा है जिसे यह सर्वर समझ नहीं सका।

एक अनुरोध किये गए हेडर के मैदान का आकार सर्वर की सीमा से अधिक है।

प्राधिकरण: बातचीत [अति लंबी स्ट्रिंग] "

मेरा vhost.cfg इस तरह दिखता है:

<VirtualHost hostname:443>
  LimitRequestFieldSize 32760
  LimitRequestLine 32760
  LogLevel debug

  <Directory "/data/pwtool/sec-data/adbauth">
    AuthName "Please login with your AD-credentials (Windows Account)"
    AuthType Kerberos
    KrbMethodNegotiate on
    KrbAuthRealms REALM.TLD
    KrbServiceName HTTP/hostname
    Krb5Keytab /data/pwtool/conf/http_hostname.krb5.keytab
    KrbMethodK5Passwd on
    KrbLocalUserMapping on
    Order allow,deny
    Allow from all
  </Directory>

  <Directory "/data/pwtool/sec-data/adbauth">
    Require valid-user
  </Directory>

    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /etc/apache2/ssl.crt/hostname-server.crt
    SSLCertificateKeyFile /etc/apache2/ssl.key/hostname-server.key
</VirtualHost>

मैंने यह भी सुनिश्चित किया कि कुकीज को हटा दिया जाए और LimitRequestFieldSize और LimitRequestLine के लिए कई छोटे मान आज़माए जाएं।

एक और बात जो मुझे अजीब लगती है वह यह है कि LogLvel डिबग के साथ भी मुझे इसके बारे में कोई लॉग नहीं मिलेगा। लॉग की अंतिम पंक्ति है

ssl_engine_kernel.c(1879): OpenSSL: Write: SSL negotiation finished successfully

क्या किसी को इसके बारे में एक विचार है?


क्या आप इस समस्या का हल ढूंढने में सक्षम हैं? मैं बिल्कुल एक ही लक्षण हो रहा है।
गनी सिमसेक

हे गनी, मुझे यकीन नहीं है। मैंने अपना "नॉट-ज़रूर-इफ़-वर्क्स" लिखा, यहाँ serverfault.com/a/426599/111458 । कृपया मेरे देर से उत्तर देने का बहाना करें। यदि आपको अभी भी समाधान की आवश्यकता है, तो मेरे उत्तर का प्रयास करें और मुझे बताएं / यदि यह काम किया है तो हमें बताएं))
ऑरेलिन

जवाबों:


7

मेरे पेट का कहना है कि आपको एक बहुत बड़ी सुरक्षा टोकन मिली है, संभवतः क्योंकि उपयोगकर्ता बड़ी संख्या में समूहों का सदस्य है। AD Kerberos कार्यान्वयन अपाचे को डिफ़ॉल्ट रूप से विशेषाधिकार प्रमाणपत्र (PAC) प्रदान करने जा रहा है । यदि उपयोगकर्ता कई महत्वपूर्ण समूहों का सदस्य है तो यह संरचना बड़ी हो सकती है। आप उपयोगकर्ता के टोकन आकार को देखने के लिए tokensz.exeउपकरण का उपयोग कर सकते हैं

यदि यह समस्या है तो आप PAC को भेजने से रोकने के लिए उपयोगकर्ता के खाते के UserAccountControl विशेषता को संशोधित कर सकते हैं ।

/etc/krb5.confकेडीसी को संदर्भित करने के लिए आप अपनी फ़ाइल को संशोधित करने में सक्षम हो सकते हैं kdc = tcp/kdc.name.here। यह समस्या तब हो सकती है यदि PAC टोकन UDP डेटाग्राम के लिए बहुत बड़ा है, लेकिन TCP के साथ KDC को संचार के लिए मजबूर करना एक संभव समाधान है, भी।

1,000 उपयोगकर्ताओं पर उस मूल्य को बदलना आपके AD व्यवस्थापक के लिए मुश्किल नहीं है यदि यह आपकी समस्या को हल करता है।


(उह लानत, गलती से टिप्पणी को हटा दिया। मैं अभी भी सो रहा हूं, ऐसा लगता है) ठीक है, इसलिए मैं उनसे पूछ सकता हूं कि क्या वे इसे बदल देंगे, लेकिन मुझे संदेह है कि यह ऑर्ग के कारण है। संरचना। और ऐसा नहीं है कि मेरी परियोजना सुपर महत्वपूर्ण है, इसलिए .. मैं /etc/krb5.conf के संशोधन को पहले कोशिश करूँगा .. धन्यवाद। Btw, किसी भी विचार क्यों यह समस्या केवल IE में होती है, लेकिन ओपेरा में नहीं और न ही फ़ायरफ़ॉक्स में?
ऑरेलिन

मैंने /etc/krb5.conf को संशोधित करने का प्रयास किया, लेकिन वह इसे ठीक नहीं करता है। एक और बात जो मुझे पता चली है कि आपका लिंक केवल Win2k3 सर्वर के लिए एक समाधान बताता है, लेकिन हम Win2k8 RC2 चलाते हैं। मैं इसका उल्लेख करना भूल गया, क्षमा करें।
औरेलिन

खैर .. मुझे कहना होगा कि यह थोड़ा अजीब था
ऑरेलिन

2

मुझे मैक पर सफारी में एक Drupal 7 साइट पर यह त्रुटि हो रही थी और पाया कि ब्राउज़र विंडो को बंद करना और ब्राउज़र के कैश को साफ़ करना, ब्राउज़र को छोड़ना, इसे वापस खोलना और पृष्ठ को फिर से लोड करना उस त्रुटि को बंद करने के लिए काम किया जो केवल हुआ है। यह एक बार

खराब अनुरोध आपके ब्राउज़र ने एक अनुरोध भेजा है जिसे यह सर्वर समझ नहीं सका। > अनुरोध हैडर फ़ील्ड का आकार सर्वर सीमा से अधिक है। कुकी / एन


2
मेरे लिए "Microsoft" समाधान जैसा लगता है: रिबूट और आशा है कि समस्या दूर हो जाएगी।
कॉलिन 'टी हार्ट

1
@ कोलिन, भले ही यह "Microsoft" जवाब की तरह लग सकता है, कई बार यह वही है जो आवश्यक है। किसी ब्राउज़र के कैश को साफ़ करते समय कई ब्राउज़र इन-मेमोरी कैश को खाली करने में विफल हो जाते हैं, इसलिए ब्राउज़र को पुनरारंभ करने की आवश्यकता होती है। यह निश्चित रूप से फ़ायरफ़ॉक्स, क्रोम और कैमिनो के मैक संस्करणों पर लागू होता है। मैं कभी भी सफारी का उपयोग नहीं करता, इसलिए मैं उस पर टिप्पणी नहीं कर सकता।
जॉन गार्डनियर्स

1

मुझे एक और समाधान मिला, हालांकि मुझे यकीन नहीं है कि यह वास्तव में काम करता है। अपाचे डॉक्स में कहा गया है कि बड़े पैकेज के लिए मुझे LimitRequestFieldSize और / या LimitRequestLine सेट करना होगा।

बात यह है कि यदि आप 8KB से अधिक कुछ भी LimitRequestLine का मान सेट करना चाहते हैं, तो आपको स्रोत को संशोधित करना होगा और Apache को फिर से स्थापित करना होगा, क्योंकि 8KB निश्चित अधिकतम आकार ( http://httpd.pache.org/docs/) है 2.2 / mod / core.html # limitrequestline )।

मुझे यकीन नहीं है कि अगर यह विधि काम करती है, क्योंकि मैंने बाद में दूसरे सर्वर पर अपने स्वयं के भंडार से अपाचे को फिर से स्थापित किया। ऐसा लगता है कि यह एक अलग पैकेज संस्करण था क्योंकि समस्या वहां नहीं थी।


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