运行django时,Twisted服务器意外崩溃

tap*_*pan 38 python django twisted nginx

我正在使用来自此站点的django-on-twisted脚本运行django应用程序.

所有请求都由nginx服务器提供服务,该服务器反向代理相关的扭曲请求.我有一个API的URL设置,它基本上只接收get请求并在发送响应之前对get参数进行一些处理.但是,当特定客户端访问api时,扭曲的服务器才会关闭.粘贴在下面的是Nginx日志:

the.ip.of.client - - [21/Apr/2012:11:30:36 -0400] "GET /api/url/?get=params&more=params HTTP/1.1" 499 0 "-" "Java/1.6.0_24"
Run Code Online (Sandbox Code Playgroud)

扭曲的日志只显示扭曲的停止工作.通过错误代码499,我假设客户端意外关闭了连接,我没有问题.客户是否收到回复对我来说并不重要.这是相关的django视图:

def api_url(request):
    if request.GET:
        get_param = request.GET.get('get', [''])[0]
        more_param = request.GET.get('more', [''])[0]
        #some processing here based on the get params
        return HttpResponse('OK')
    else:
        raise Http404
Run Code Online (Sandbox Code Playgroud)

来自客户端的请求是有效请求,不会以不利方式影响处理.我从shell测试过它.当我在django开发服务器上尝试它时,它也以相同的方式崩溃,而没有留下任何接收请求的痕迹.从浏览器进行测试时,一切都运行良好.此外,扭曲的服务器适用于所有常规用例.这是我第一次遇到问题.任何帮助或指示将不胜感激.

Tur*_*eny 1

rfc 中没有 499 http 代码。Nginx 本身定义了 499 代码。

当客户端发送请求,并在没有等待响应的情况下关闭连接时,会出现 499 代码。如果你的access_log中有很多499,这主要是由于后端速度慢造成的(太慢了,用户无法等待)。您可能需要优化您的网站性能。

http://forum.nginx.org/read.php?2,213789,213794#msg-213794