2013-09-24 38 views
5

我正在Linux tomcat 7.0安裝上實現spnego sso身份驗證,並且遵循以下示例:http://spnego.sourceforge.net/index.html相當不錯。我通過了飛行前檢查清單,並且實際上使用Firefox中的「BASIC」票證來回傳遞。spnego執行問題 - 錯誤解析http請求標頭

然而,使用「協商」授權報頭我在catalina.out中得到以下錯誤消息時:

INFO: Error parsing HTTP request header 

這發生IE和模擬中的soapUI的請求時。送回雙方的反應是:

400 Bad Request 

正如我所說的,它是工作在Firefox,但只是部分,因爲它提示登錄那裏,「基本」身份驗證收益的事實。 (至少是做,直到我在web.xml過濾器CONFIGS將其關閉,所以我知道正在閱讀這些CONFIGS)

我使用以下enctypes:

default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc arcfour-hmac-md5 
default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc arcfour-hmac-md5 
permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc arcfour-hmac-md5 

我懷疑它有是與256加密,但我沒有下載,放到我的Java的lib/security文件夾不受限制的加密罐子中的說明如下:

http://docs.oracle.com/javase/7/docs/technotes/guides/security/jgss/jgss-features.html 

但是這並修復問題(除非有什麼我錯過了)。我已經廣泛搜索了'錯誤解析...'http錯誤,該錯誤顯示在catalina.out文件中,但尚未找到解決方案。其他設置(域,域等)似乎工作正常,因爲我已經修改它們,並得到不同的更具體的錯誤。

關於INFO: Error parsing HTTP request header錯誤的任何建議?

這是一個內部企業環境,SSO已經成功的使用httpd實現,但是我們希望從這個轉變爲全Tomcat解決方案。

回答

11

終於解決了這個問題。事實證明,「協商」授權標題在Tomcat中將標題大小推過默認的8kb大小,導致誤導性錯誤。 (我會認爲一個更有用的錯誤信息就像「達到最大標題大小」一樣)

無論如何,我發現解決方案將在serverfault下面的答案中描述。

https://serverfault.com/questions/56691/whats-the-maximum-url-length-in-tomcat

以及物品是否完整:

<Connector port="8080" maxHttpHeaderSize="65536" protocol="HTTP/1.1" ... />