2017-02-21 46 views
1

帖子錯誤413我使用一個工作線程的請求架構後(使用的RabbitMQ的經紀人芹菜)。它大部分時間都能正常工作,但偶爾會得到413(請求體太大的錯誤)。我已經被告知nginx中的client_max_body_size被設置爲50M,但儘管最大的帖子大小隻有3MB,但帖子偶爾仍然會失敗。任何想法爲什麼會發生這種情況?使用的要求芹菜任務

+0

您使用的是http還是https? –

+0

你是否對同一個服務器(在django正在運行的地方)執行post請求? –

回答

4

您已經爲Web服務器偵聽端口80端口80是傳統上用於HTTP流量的服務器的指令。但是,如果您的應用程序使用的是https而不是http,則需要將其包含在偵聽端口443的服務器僞指令中,以服務https。

server { 
    listen 443; 
    server_name www.***.com; 

    client_max_body_size 50M; 
..... 

編輯:

在回答你的澄清意見(這似乎因爲已被刪除),我想解釋一下您所遇到的一個非常高的水平的問題。

你通過這個圖來描述遇到的情況:

enter image description here

的過程中有問題的部分是紅色箭頭,因爲有時你收到一個413錯誤代碼發佈一個大的時對象到另一臺服務器。

nginx.conf你可以在你的服務器上修改不影響的紅色箭頭。相反,它會影響綠色虛線箭頭。虛線的綠色箭頭是從您的芹菜工作人員到您自己的nginx服務器的潛在POST請求。

例如,您可能希望芹菜工人來處理一些繁重的計算算法,用戶的個人資料圖片,因此觸發它已經在你的芹菜工人被處理之後,非同步上傳。然後,POST請求將被定向到您自己的域http://yourdomain.com/profile_upload,該域受nginx.conf的影響。

傳出的請求到另一臺服務器不受服務器的nginx.conf

爲了解決這個問題,您應該與您的請求要發送到的服務器的管理員通話,並要求他們在其服務器上增加client_max_body_size

+2

它需要在您要發佈的服務器配置中。 –