2016-01-18 33 views
1

我們有一個設置,CDN正在調用Nginx調用uwsgi服務器。有些請求花費了很多時間讓Django處理,所以我們依靠CDN進行緩存。但是,CDN的硬超時時間爲30秒,不幸的是無法配置。使用Nginx通過發送空行阻止下行超時

如果我們能夠在從uwsgi服務器收到請求之前每隔幾秒發送一個空行,這將意味着CDN不會超時。有沒有辦法用Nginx每隔幾秒發送一個空行,直到收到響應?

回答

0

我看到幾個可能性:

  1. 更新你的Django應用程序來解決這個方式 - 有/它/立即開始運球的響應。
  2. 重做您的設計以避免用戶定期發出超過30秒的響應請求。使用頻繁的cron作業來啓動後端服務器上的緩存,所以當CDN請求資產時,它們已經準備就緒。 Web服務器可以配置爲檢查URL的靜態「.gz」版本,這可能很適合這裏。
  3. 配置Nginx緩存請求。 CDN第一次請求緩慢的URL時,它可能會超時,但Nginx應該最終緩存結果。 CDN下一次詢問時,Nginx應該準備好緩存響應。
相關問題