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

Request-URI Too Long': URI length exceeds the configured limit of 2048 characters

我有这个配置,我使用 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)] 非法请求,响应状态为“414 Request-URI Too Long”:URI 长度超过配置的 2048 个字符限制

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

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

来自我原来的 Post 这里:

这让我花了很长时间才弄明白。在文档中找不到 NOT

这里有一个片段可以放在你的 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