我有这个配置,我使用的是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个字符的限制
答案 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