玩2.6,URI长度超过配置的2048个字符限制
Play 2.6, URI length exceeds the configured limit of 2048 characters
我正在尝试将 Play 2.5 版本迁移到 2.6.2。我不断收到 URI-length exceeds 错误。有人知道如何覆盖它吗?
我尝试了以下 Akka 设置,但还是不行。
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
}
只需添加
akka.http {
parsing {
max-uri-length = 16k
}
}
给你的application.conf
。前缀 play.server
仅用于将 Akka-HTTP 集成到 Playframework 中的一小部分便利功能,例如play.server.akka.requestTimeout
。这些记录在 Configuring the Akka HTTP server backend 文档中。
由于 header 长度超过默认的 8 KB(8192),我遇到了错误。将以下内容添加到 build.sbt 并且对我有用 :D
javaOptions += "-Dakka.http.parsing.max-header-value-length=16k"
如果其他选项不起作用,您可以尝试类似的 uri 长度
这让我花了很长时间才弄明白。在文档中找不到 NOT。
这是一个片段(已确认可与 play 2.8 一起使用)放入您的 application.conf
中,它也可以通过环境变量进行配置并且适用于 BOTH dev 和 prod模式:
# 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
如果有人在尝试访问站点或登录时在 chrome 浏览器中遇到此类错误。 [HTTP header 值超出配置的 8192 个字符限制]
, 转到 chrome
设置 -> 安全和隐私 -> 站点设置,查看跨站点存储的权限和数据
搜索特定网站并在该网站上清除所有数据。
我正在尝试将 Play 2.5 版本迁移到 2.6.2。我不断收到 URI-length exceeds 错误。有人知道如何覆盖它吗?
我尝试了以下 Akka 设置,但还是不行。
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
}
只需添加
akka.http {
parsing {
max-uri-length = 16k
}
}
给你的application.conf
。前缀 play.server
仅用于将 Akka-HTTP 集成到 Playframework 中的一小部分便利功能,例如play.server.akka.requestTimeout
。这些记录在 Configuring the Akka HTTP server backend 文档中。
由于 header 长度超过默认的 8 KB(8192),我遇到了错误。将以下内容添加到 build.sbt 并且对我有用 :D
javaOptions += "-Dakka.http.parsing.max-header-value-length=16k"
如果其他选项不起作用,您可以尝试类似的 uri 长度
这让我花了很长时间才弄明白。在文档中找不到 NOT。
这是一个片段(已确认可与 play 2.8 一起使用)放入您的 application.conf
中,它也可以通过环境变量进行配置并且适用于 BOTH dev 和 prod模式:
# 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
如果有人在尝试访问站点或登录时在 chrome 浏览器中遇到此类错误。 [HTTP header 值超出配置的 8192 个字符限制] , 转到 chrome
设置 -> 安全和隐私 -> 站点设置,查看跨站点存储的权限和数据
搜索特定网站并在该网站上清除所有数据。