【问题标题】:Play Setting maxInitialLineLength not working播放设置 maxInitialLineLength 不起作用
【发布时间】:2017-05-04 21:02:42
【问题描述】:

我正在开发一个 Scala API,它可能需要偶尔的 GET 请求,其中 URL 长度超过 4kb。我看到我们需要一个设置 play.server.netty.maxInitialLineLength 设置,我尝试将其设置为 8192 (8 kb),但仍然失败:

org.jboss.netty.handler.codec.frame.TooLongFrameException: An HTTP line is larger than 4096 bytes.
    at org.jboss.netty.handler.codec.http.HttpMessageDecoder.readLine(HttpMessageDecoder.java:670) ~[netty-3.10.5.Final.jar:na]
    at org.jboss.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:184) ~[netty-3.10.5.Final.jar:na]
    at org.jboss.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:102) ~[netty-3.10.5.Final.jar:na]
    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500) ~[netty-3.10.5.Final.jar:na]
    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:485) ~[netty-3.10.5.Final.jar:na]
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) ~[netty-3.10.5.Final.jar:na]
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) [netty-3.10.5.Final.jar:na]
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) [netty-3.10.5.Final.jar:na]
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) [netty-3.10.5.Final.jar:na]
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) [netty-3.10.5.Final.jar:na]

我们现在正在运行 play 2.4.8。有什么我遗漏的吗?

【问题讨论】:

    标签: scala netty playframework-2.4


    【解决方案1】:

    我假设您正在本地测试它并使用 run 命令启动 Play。

    执行此操作时,无法应用 application.conf 中的 HTTP 服务器设置,因为 HTTP 服务器在读取 application.conf 之前已启动(另见官方 Play documentation)。

    您可以通过三个选项来完成这项工作:

    1. 以生产模式启动应用程序,或
    2. 将配置作为 JVM 参数提供 (run -Dplay.server.netty.maxInitialLineLength=8192),或者
    3. 修改你的 build.sbt (devSettings := Map("play.server.netty.maxInitialLineLength" -> "8192"))。

    【讨论】:

    • 我尝试了第 2 条建议,但仍然无法正常工作(播放 2.4.6)
    猜你喜欢
    • 1970-01-01
    • 2017-10-08
    • 2021-12-20
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多