Apache Bozuk İstek Kerberos TOA ile "İstek üstbilgisi alanının boyutu sunucu sınırını aşıyor"


9

Apache (SLES 11.1'de Apache2) üzerinde çalışan bir web sitesi aracılığıyla Active Directory kullanıcıları için bir TOA ayarlıyorum ve Firefox ile test yaparken her şey yolunda gidiyor. Ancak web sitesini Internet Explorer 8'de (Windows 7) açmaya çalıştığımda, elde ettiğim tek şey

"Geçersiz istek

Tarayıcınız bu sunucunun anlayamadığı bir istek gönderdi.

İstek üstbilgisi alanının boyutu sunucu sınırını aşıyor.

Yetkilendirme: [ultra uzun dize] pazarlığı yapın "

Benim vhost.cfg şöyle görünüyor:

<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>

Ayrıca çerezler silinir ve LimitRequestFieldSize ve LimitRequestLine için birkaç küçük değer denedi emin yaptı.

Benim için garip görünen başka bir şey de LogLevel hata ayıklamasıyla bile bu konuda herhangi bir günlük alamayacağım. Günlüğün son satırı

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

Bunun hakkında bir fikri olan var mı?


Bu soruna bir çözüm bulabildiniz mi? Tam olarak aynı semptomları yaşıyorum.
Gani Şimşek

Hey Gani, emin değilim. Burada "işe yaramazsa" çözümümü yazdım serverfault.com/a/426599/111458 . Lütfen geç cevabımı affedin. Hala çözüme ihtiyacınız varsa, cevabımı deneyin ve bana / bize işe yarayıp yaramadığını bildirin =)
Aurelin

Yanıtlar:


7

Bağırsak, muhtemelen kullanıcı çok sayıda grubun üyesi olduğu için çok büyük bir güvenlik belirteciniz olduğunu söylüyor. AD Kerberos uygulaması, Apache'ye varsayılan olarak bir Ayrıcalık Özellik Sertifikası (PAC) sağlayacaktır . Kullanıcı önemli sayıda grubun üyesiyse bu yapı büyük olabilir. Sen edebilirsiniz kullanmak tokensz.exearacı kullanıcının simge boyutuna görmek için.

Sorun buysa , PAC'nin gönderilmesini önlemek için kullanıcı hesabının UserAccountControl özniteliğini değiştirebilirsiniz .

/etc/krb5.confKDC'yi başvuruda bulunmak için dosyanızı değiştirerek kurtulabilirsiniz kdc = tcp/kdc.name.here. Bu sorun, PAC belirtecin bir UDP datagramı için çok büyük olmasına neden olabilir, ancak TCP ile KDC ile iletişimi zorlamak da olası bir çözümdür.

1.000 kullanıcı üzerinde bu değeri değiştirmek, sorununuzu çözerse AD yöneticileriniz için zor değildir.


(Ah kahretsin, yanlışlıkla yorumu sildim. Hala uyuyorum. yapısı. Ve bu benim projem çok önemli değil, bu yüzden .. Önce /etc/krb5.conf değişikliğini deneyeceğim .. Teşekkürler. BTW, bu sorunun neden sadece IE'de oluşur, Opera veya Firefox'ta değil?
Aurelin

/Etc/krb5.conf dosyasını değiştirmeye çalıştım, ama bu hiç düzeltmiyor. Anladığım başka bir şey ise bağlantınızın sadece Win2k3 Sunucuları için bir çözüm tanımlamasıdır, ancak Win2k8 RC2'yi çalıştırıyoruz. Bundan bahsetmeyi unuttum, üzgünüm.
Aurelin

Şey ... biraz garip olduğunu söylemeliyim
Aurelin

2

Mac'te Safari'de bir Drupal 7 sitesinde bu hatayı yaşadım ve tarayıcı pencerelerini kapatmanın ve tarayıcının önbelleğini temizlemenin, tarayıcıdan çıkmanın, sayfayı açmanın ve sayfayı yeniden yüklemenin, sadece olan hatayı sonlandırmak için çalıştığını buldum bu bir kez.

Hatalı İstek Tarayıcınız bu sunucunun anlayamadığı bir istek gönderdi. > İstek üstbilgisi alanının boyutu sunucu sınırını aşıyor. Çerez / n


2
Bana bir "Microsoft" çözümü gibi geliyor: Yeniden başlatın ve sorunun ortadan kalkacağını umuyoruz.
Colin 't Hart

1
@Colin, bunun ne kadar "Microsoft" yanıtı gibi göründüğüne bakılmaksızın, birçok kez tam olarak gerekli olan şeydir. Bir tarayıcının önbelleğini temizlerken birçok tarayıcı bellek içi önbelleği boşaltamaz, bu nedenle tarayıcıyı yeniden başlatmanız gerekir. Kesinlikle Firefox, Chrome ve Camino'nun Mac sürümleri için geçerlidir. Asla Safari kullanmam, bu yüzden bu konuda yorum yapamam.
John Gardeniers

1

Başka bir çözüm buldum, ancak gerçekten işe yarayıp yaramadığından emin değilim. Apache Docs, büyük paketler için LimitRequestFieldSize ve / veya LimitRequestLine ayarlamam gerektiğini belirtir.

Mesele şu ki, LimitRequestLine değerini 8KB'den daha yüksek bir değere ayarlamak istiyorsanız, 8KB sabit maxSize ( http://httpd.apache.org/docs/) olduğu için kaynağı değiştirmeniz ve Apache'yi yeniden derlemeniz gerekecektir. 2.2 / mod / core.html # limitrequestline ).

Bu yöntemin işe yarayıp yaramadığından emin değilim, çünkü daha sonra ikinci bir sunucuya kendi depomuzdan apache'yi yeniden kurdum. Sorun orada ortaya çıkmadığı için bunun farklı bir paket sürümü olduğu anlaşılıyor.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.