2013-09-24 4 views
5

Sto implementando l'autenticazione spnego sso su un'installazione Linux tomcat 7.0 e seguendo l'esempio a: http://spnego.sourceforge.net/index.html abbastanza bene. Ho passato la lista di controllo pre-volo a pieni voti e in realta 'ha funzionato con il biglietto' BASIC 'in Firefox passato avanti e indietro.problema di implementazione spnego - errore di analisi dell'intestazione della richiesta http

Tuttavia, quando si utilizza l'intestazione di autorizzazione "Negoziare" Sto ricevendo il seguente messaggio di errore nel catalina.out:

INFO: Error parsing HTTP request header 

Ciò si verifica sia con IE e quando si simula la richiesta in soapUI. La risposta rimandato a entrambi è:

400 Bad Request 

Come ho detto, si sta lavorando in Firefox, ma solo in parte nel fatto che esso richiede un login lì, il ricavato con l'autenticazione "Basic". (Almeno è lo fa fino a quando lo spengo nei file di configurazione del filtro web.xml, quindi so queste configurazioni vengono lette)

sto usando i seguenti: 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 

ho il sospetto che ha qualcosa a che fare con la crittografia a 256, ma ho fatto scaricare e li mise nella mia cartella java lib/security i vasetti di crittografia senza restrizioni, come descritto nella seguente:

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

Tuttavia, che ha risolto il problema (a meno che non ci sia qualcosa ci sto mancando). Ho cercato estensivamente l'errore http "Error parsing ..." che compare nel file catalina.out, ma non ho trovato la soluzione. Le altre impostazioni (realm, dominio, ecc.) Sembrano funzionare bene poiché le ho modificate e ottenuto diversi errori più specifici.

Qualche idea sull'errore INFO: Error parsing HTTP request header?

Questo è un ambiente aziendale interno e SSO è già stato implementato con successo con httpd ma vorremmo passare da quello a una soluzione di tutto il tomcat.

risposta

11

Finalmente risolto questo problema. Risulta che l'intestazione "Negoziare" Autorizzazione stava spingendo la dimensione dell'intestazione rispetto alla dimensione massima 8kb predefinita in Tomcat, che ha provocato l'errore fuorviante. (Avrei pensato che un messaggio di errore più utile sarebbe qualcosa come "dimensione massima dell'intestazione raggiunta")

In ogni caso, ho trovato la soluzione da descrivere nella seguente risposta su serverfault.

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

E per completezza:

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