Bad Message 431 in a single SP environment

Kylie Lunghusen kylie.lunghusen at
Fri Sep 7 03:11:54 EDT 2018

Thanks, Nate

I haven't tried increasing the setting yet. It's a non-trivial exercise since I'll need to work out how to code it into the environment-specific section of our Shibboleth repository. But I'll do it if necessary.

I'll investigate some more based on your request line advice

Thanks again,

Kylie Lunghusen
Technical Tools Administrator, University Operations
Information Technology Services, RMIT University

From: users <users-bounces at> on behalf of Nate Klingenstein <ndk at>
Sent: Friday, 7 September 2018 2:46 PM
To: Shib Users
Subject: Re: Bad Message 431 in a single SP environment


That's a new one for me.  These are just some observations.

First, I think that's the right setting to be examining.  Have you tried simply increasing the maximum header size setting in Jetty in your test environment as a sanity check?

I would suppose that the reason it works on the first login but not subsequent logins is that the second cycle has an SSO session and other cookies set by the IdP, Jetty, or whatever else is involved in the first round-trip.

Second, according to the second answer at:<>

the limit applies to the sum of the headers *and* the request line for most web servers, and as HTTP-Redirect bound SAML AuthnRequests can be of decent size, that 500 byte overhead is not that significant.  An example AuthnRequest from SAMLtest:<>

is 604 bytes.  That would be just about right given the 150 byte discrepancy between test and prod and and 500 byte headroom.

That's where I'd start, but I haven't encountered this issue myself before, nor do I recall it coming up on the list before.

I hope this isn't too wrong,

On Fri, Sep 7, 2018 at 2:32 AM, Kylie Lunghusen <kylie.lunghusen at<mailto:kylie.lunghusen at>> wrote:

Hi folks,

We've got a problem in which the Test and Production versions of a particular SP behave differently.

SP [ORG]-test.[APP] uses our Test IdP
SP [ORG].[APP] user our Production IdP
(Both IdPs defer to CAS/AD for authentication.)

Production SP works fine.
On first login to the Test SP, it works. On subsequent logins, it gives the error:
"Bad Message 431
reason: Request Header Fields Too Large"
This behaviour is consistent, and applies across browsers and operating systems.

Investigations so far:
* I'm told the SPs are configured more or less identically.
* requestHeaderSize in jetty.xml is set to 8192 on all of our IdP environments.
* In second-access request headers captured via Dev Tools, the Test headers are usually slightly longer than the Prod ones, but still well below 8192 (eg. Test 7627, Prod 7458).

Only things I can think of are:
* requestHeaderSize is not the only setting (or is the wrong setting) to be checking?
* There are wrappers that make the thing bigger than it looks (like the way an email in transit is bigger than in the inbox)?
* Bytes != characters (I know some characters use two bytes, dunno if that includes any of these ones) so the Test headers really are over 8192?
(Apologies if stupid questions, am learning on the job with no mentor.)

I've failed to answer these questions via Googling, so it's time to ask the folks who know a lot more than I do.

Any ideas on what/where I should be checking?



Kylie Lunghusen
Technical Tools Administrator, University Operations
Information Technology Services, RMIT University

For Consortium Member technical support, see<>
To unsubscribe from this list send an email to users-unsubscribe at<mailto:users-unsubscribe at>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list