Rest PlayFramework 2.2.6:高级HTTP服务器配置maxInitialLineLength

Rest PlayFramework 2.2.6:高级HTTP服务器配置maxInitialLineLength,rest,playframework,netty,playframework-2.2,Rest,Playframework,Netty,Playframework 2.2,我们正在尝试向使用Playframework 2.2.6实现的RESTAPI发送长度大于4096字节的GET和POST请求 经过长时间的谷歌研究,我们几乎尝试了所有方法,解决方案似乎是在通过play启动服务器时传递以下两个参数。我们没有收到关于错误参数的错误消息,但是当我们向api发送一个大请求时,我们仍然会收到错误消息 TooLongFrameException: An HTTP line is larger than 4096 Bytes 我们正在通过以下命令运行服务器 <PathT

我们正在尝试向使用Playframework 2.2.6实现的RESTAPI发送长度大于4096字节的GET和POST请求

经过长时间的谷歌研究,我们几乎尝试了所有方法,解决方案似乎是在通过play启动服务器时传递以下两个参数。我们没有收到关于错误参数的错误消息,但是当我们向api发送一个大请求时,我们仍然会收到错误消息

TooLongFrameException: An HTTP line is larger than 4096 Bytes
我们正在通过以下命令运行服务器

<PathToPlay>\play-2.2.6\play.bat -org.jboss.netty.maxHeaderSize:102400 -org.jboss.netty.maxInitialLineLength:102400 run
\play-2.2.6\play.bat-org.jboss.netty.maxHeaderSize:102400-org.jboss.netty.maxInitialLineLength:102400运行

首先,启动应用程序的路径似乎不正确。当您在项目根文件夹中创建
play.bat
activator.bat
文件时。因此,无需在项目文件夹外调用特定的play安装运行时

设置最大主体和收割台长度的参数可以在中找到

http.netty.maxInitialLineLength
-HTTP请求初始行的最大长度默认为4096

http.netty.maxHeaderSize
-整个HTTP头的最大大小默认为8192

发展模式 要在开发模式下启动应用程序,请调用

/path/to/project/play run -Dhttp.netty.maxInitialLineLength=102400 -Dhttp.netty.maxHeaderSize=102400
如果您已使用Activator创建项目,请将
play
替换为
Activator

生产方式 使用
playdist
完成生产任务后,可以通过调用

/path/to/publishedApp/bin/<nameOfApp> -Dhttp.netty.maxInitialLineLength=102400 -Dhttp.netty.maxHeaderSize=102400
/path/to/publishedApp/bin/-Dhttp.netty.maxInitialLineLength=102400-Dhttp.netty.maxHeaderSize=102400

尝试使用-Dhttp.netty.maxInitialLineLength=102400运行sbt您知道在游戏中调用sbt的位置吗?这是我们第一次使用PlayFramework。您处于生产模式,所以,我的错,它不在sbt中,但是,您可以使用与提供此选项完全相同的方法来提供此选项,即用-Dhttp.netty.maxInitialLineLength=102400替换-org.jboss.netty.maxInitialLineLength:102400,如果我们使用=而不是:我们得到一个无效的参数错误并建议我们使用:。如果我们使用Dhttp.netty.maxInitialLineLength=102400,我们将收到一条警告,警告系统属性无效。好的,很抱歉,但在使用中似乎不是相同的选项!2.2那出戏!2.4(因为它在Play!2.4上工作)。而“:”而不是“=”可能是因为你在Windows上。我们从大学得到了这个项目,所以我们没有从头开始,有趣的是,我们的项目根文件夹中没有播放。我们已尝试按照您提到的方式启动服务器,但它不起作用:(请您粘贴
项目/plugins.sbt
文件的内容,特别是com.typesafe.play sbt插件版本?//在初始化期间获取更多信息的注释logLevel:=Level.Warn//typesafe存储库解析程序+=“typesafe存储库”位于“”//将Play sbt插件用于Play项目addSbtPlugin(“com.typesafe.Play”%”sbt插件“%”2.2.6)