2016-06-13 56 views
1

如果状态码是200并且没有主体,则nginx关闭连接。但我的处理程序设置了202代码,并且没有任何内容。在这种情况下,nginx也关闭连接。所以客户端应用程序无法区分200和202状态码,因为它只是看到了关闭的连接。如何强制nginx发送空头内容的头文件?

有没有办法强制nginx向空白内容主体提供状态码给客户端?

UPD配置为应用程序的该部分:

location = /file/add { 
      keepalive_timeout 0; 

      set $upload_progress_fallback_code  360; 
      set $upload_progress_memcached_servers "127.0.0.2:11211"; 
      set $upload_progress_memcached_namespace server.name; 
      set $upload_progress_memcached_compress_threshold 10000; 

      error_page 360 = @root2; 
      perl UploadProgress::handle; 
    } 
+0

您的应用程序应该检查状态。显示你的nginx配置 –

+0

你的意思是?我的应用返回状态:'return HTTP_ACCEPTED;' –

回答

0

我已经找到一个解决方案(用于mod_perl2处理)

if($track->{ stage } ne 'finish') { 
     # ...report we are in progress 
     $r->status(HTTP_ACCEPTED); 
    } 
    else { 
     # ...or report we are done 
     $r->status(OK); 
    } 


    $r->send_http_header; 
    return; 

链接DOC