2013-09-24 2 views
5

Я реализую проверку spnego sso на установке Linux tomcat 7.0 и следуя примеру: http://spnego.sourceforge.net/index.html довольно хорошо. Я прошел предполетный контрольный список с летающими красками и фактически работал с билетом «BASIC» в Firefox, который передавался взад и вперед.проблема реализации spnego - анализ ошибок http-заголовок запроса

Однако при использовании «Согласование» Authorization заголовка я получаю следующее сообщение об ошибке в catalina.out:

INFO: Error parsing HTTP request header 

Это происходит как с IE и при моделировании запроса в SoapUI. Ответ отправляется обратно как это:

400 Bad Request 

Как я уже сказал, он работает в Firefox, но лишь частично в том, что она побуждает для входа в систему там, доходы с аутентификацией «Basic». (По крайней мере, это делает, пока я не отключить его в web.xml фильтра конфиги, поэтому я знаю, что эти конфиги читают)

Я использую следующие 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 папку/безопасности на неограниченный баночки шифрования, как описано в следующем:

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

Однако это было исправить проблему (если есть что-то там мне не хватает). Я широко искал сообщение об ошибке «Ошибка анализа ...», которое появляется в файле catalina.out, но не нашел решение. Другие настройки (realm, domain и т. Д.), Похоже, работают нормально, поскольку я их модифицировал и получил другие более конкретные ошибки.

Есть идеи по ошибке INFO: Error parsing HTTP request header?

Это внутренняя корпоративная среда, и SSO уже успешно реализована с помощью httpd, но мы хотели бы отойти от этого решения all-tomcat.

ответ

11

Окончательно решена эта проблема. Оказывается, заголовок авторизации «Negotiate» подталкивал размер заголовка по максимальному размеру 8kb по умолчанию в Tomcat, что привело к ошибочной ошибке. (Я бы подумал, что более полезное сообщение об ошибке будет «достигнуть максимального размера заголовка»)

В любом случае, я нашел решение, которое будет описано в следующем ответе на serverfault.

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

И для полноты картины:

<Connector port="8080" maxHttpHeaderSize="65536" protocol="HTTP/1.1" ... /> 
Смежные вопросы