0

我有这个配置,我使用 play 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)] Illegal request, respond with status '414 Request-URI Too Long': URI length超过了配置的2048个字符的限制

4

2 回答 2

0

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

我花了很长时间才弄清楚。在文档中找不到它。

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

# 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
于 2020-08-13T07:32:35.160 回答
0

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

-Dakka.http.parsing.max-uri-length=16k
于 2017-11-21T17:01:06.563 回答