Bad Message 431 in a single SP environment

Nate Klingenstein ndk at
Fri Sep 7 00:46:57 EDT 2018


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

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

> Hi folks,
> We've got a problem in which the Test and Production versions of a
> particular SP behave differently.
> Background:
> SP [ORG]-test.[APP] uses our Test IdP
> SP [ORG].[APP] user our Production IdP
> (Both IdPs defer to CAS/AD for authentication.)
> Problem:
> 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?
> Thanks,
> K
> --
> Kylie Lunghusen
> Technical Tools Administrator, University Operations
> Information Technology Services, RMIT University
> --
> For Consortium Member technical support, see
> confluence/x/coFAAg
> To unsubscribe from this list send an email to
> users-unsubscribe at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list