Request-URI Too Long':URI长度超过配置的2048个字符的限制

时间:2017-11-21 15:47:26

标签: akka playframework-2.6

我有这个配置,我使用的是2.6,我不能使用Netty和POST

 play.server.akka{
    http.server.parsing.max-uri-length = 16k
    http.client.parsing.max-uri-length = 16k      
    http.host-connection-pool.client.parsing.max-uri-length = 16k      
    http.max-uri-length = 16k
    max-uri-length = 16k
}

akka.http {
  parsing {
    max-uri-length = 16k
  }
}

但抛出此异常 akka.actor.ActorSystemImpl(play-dev-mode)]非法请求,响应状态为“414 Request-URI Too Long”:URI长度超过配置的2048个字符的限制

2 个答案:

答案 0 :(得分:0)

由于您在开发模式下运行,请将akka.http.parsing.max-uri-length=16k配置设置添加到命令行:

-Dakka.http.parsing.max-uri-length=16k

答案 1 :(得分:0)

摘自我的原始帖子:https://stackoverflow.com/a/63390208/1029251

这花了我很长时间才弄清楚。在文档中以某种方式没有

以下是要插入您的application.conf的代码段,该代码段也可以通过环境变量进行配置,并且适用于 BOTH 开发和生产模式:

# 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}

然后,您可以编辑配置,也可以使用已部署的应用程序(只需设置PLAY_MAX_URI_LENGTH进行编辑,并且可以动态配置该配置,而无需修改命令行参数。

env PLAY_MAX_URI_LENGTH=16384 sbt run