uwsgi无效的请求块大小

我在帝王模式下运行uwsgi

uwsgi --emperor /path/to/vassals/ --buffer-size=32768 

并得到这个错误

 invalid request block size: 21327 (max 4096)...skip 

该怎么办?? 我也试过了-b 32768

我也遇到同样的问题,而下面的一些教程。 问题是我设置选项socket = 0.0.0.0:8000而不是http = 0.0.0.0:8000socket选项打算与某些第三方路由器(例如nginx)一起使用,而当设置http选项时,uwsgi可以接受传入的HTTP请求并自行路由它们。

正确的解决scheme是不要切换到HTTP协议。 您只需要在uWSGI设置中增加缓冲区大小。

 buffer-size=32768 

或在命令行模式下:

 -b 32768 

我遇到了同样的问题试图在nginx下运行它,并在这里跟随文档。 需要注意的是,一旦切换到nginx,你必须确定你没有尝试访问由–socket参数指定的端口上的应用程序,而是在nginx.conf中的“listen”端口。 虽然你的问题是不同的描述标题完全符合我的问题。

我可以修复它添加 – 协议= http到uwsgi

当uWSGI服务器使用uwsgi协议,并试图通过http协议通过curl或web浏览器直接访问它时,会显示此错误。 如果可以,请尝试configuration您的uWSGI服务器以使用http协议,以便您可以通过Web浏览器或curl来访问它。

如果您不能(或不想)更改它,您可以在本地或远程uWSGI服务器前使用反向代理(例如nginx ),请参阅http://uwsgi-docs.readthedocs.org/en/latest/ Nginx.html

如果觉得工作太多,试试uwsgi-tools python包:

 $ pip install uwsgi-tools $ uwsgi_curl 10.0.0.1:3030 

还有一个简单的反向代理服务器uwsgi_proxy如果你需要通过networking浏览器访问你的应用程序(S)。查看更多扩展的答案https://stackoverflow.com/a/32893520/179581