2016-06-13 79 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

相關問題