Play 2.6, URI length exceeds the configured limit of 2048 characters

Viewed 6094

I am trying to migrate a Play 2.5 version to 2.6.2. I keep getting the URI-length exceeds error. Anyone knows how to override this?

I tried below Akka setting but still no luck.

play.server.akka{
http.server.parsing.max-uri-length = infinite
http.client.parsing.max-uri-length = infinite      
http.host-connection-pool.client.parsing.max-uri-length = infinite      
http.max-uri-length = infinite
max-uri-length = infinite
}
4 Answers

I was getting error due to header length exceeding default 8 KB(8192). Added the following to build.sbt and it worked for me :D

javaOptions += "-Dakka.http.parsing.max-header-value-length=16k"

You can try similar for uri length if other options don't work

This took me way to long to figure out. It is somehow NOT to be found in the documentation.

Here is a snippet (confirmed working with play 2.8) to put in your application.conf which is also configurable via an environment variable and works for BOTH dev and prod mode:

# Dev Mode
play.akka.dev-mode.akka.http.parsing.max-uri-length = 16384
play.akka.dev-mode.akka.http.parsing.max-uri-length = ${?PLAY_MAX_URI_LENGTH}

# Prod Mode
akka.http.parsing.max-uri-length = 16384
akka.http.parsing.max-uri-length = ${?PLAY_MAX_URI_LENGTH}

You can then edit the config or with an already deployed application just set PLAY_MAX_URI_LENGTH and it is dynamically configurable without the need to modify commandline arguments.

env PLAY_MAX_URI_LENGTH=16384 sbt run

If anyone getting this type of error in chrome browser when trying to access a site or login. [HTTP header value exceeds the configured limit of 8192 characters] , Go to chrome

settings -> Security and Privacy -> Site Settings , View Permission and data stored across sites

Search for the specific website and on that site do Clear all data.

Related