2015-10-14 47 views
2

如何在Rails中使用thin,pumaunicorn网络服务器增加QUERY_STRING的最大允许值?我试图做一个POST请求我的Rails API超过极限,只需要增加服务器的最大阈值瘦服务器QUERY_STRING比(1024 * 10)允许的长度长

特定错误的POST:Invalid request: HTTP element QUERY_STRING is longer than the (1024 * 10) allowed length.

我只能在另外一个横跨这个问题就来了(HTTP query string length with thin web server),我不太明白答案(具体来说,在那个答案找到C文件编辑?)

回答

4

你会发现thin.c在类似〜/ .rvm /宝石/红宝石2.2.0 /宝石/淡1.6.4/EXT/thin_parser

你会要改变

DEF_MAX_LENGTH(REQUEST_URI, 1024 * 12); 
... 
DEF_MAX_LENGTH(QUERY_STRING, (1024 * 10)); 

在你只需要使用Makefile重新加载thin_parser.so,并通过在〜/ .rvm /宝石/ ruby​​-新的一个来代替以前的thin_parser.so此相同的文件夹2.2.0/gems/thin-1.6.4/lib(看起来像Makefile不是自己做的)

make clean && make && cp thin_parser.so ../../lib/ 

我只是让它这样工作,希望它有帮助

1

有问题的文件是在/ext/thin_parser/thin.c内的宝石源代码。为了做出所需的更改,我相信最简单的方法是在Github上分发这些宝石,在叉中发布更改,然后使用Gemfile中的git:选项打包您的版本。像:

gem 'thin', git: '<URL to your fork>', branch: '<branch of fork to use>' 
相关问题