2016-07-22 124 views
4

是否有可能增加CloudFlare的超時時間?如果是,如何?是否有可能增加CloudFlare超時?

我的代碼需要一段時間才能執行,而且我不打算在將來的日子裏對它進行Ajax化。

enter image description here

+0

您可以處理通過不在Cloudflare上的子域花費超過100秒的請求。 –

+1

@RuudLenders:我問了CloudFlare這件事,他們說:「我會建議驗證爲什麼報告需要超過100秒。禁用子域上的Cloudflare,讓攻擊者知道你的原始IP攻擊者將直接攻擊Cloudflare。「 – gordon613

回答

15

不,CloudFlare的只提供那種customisation on Enterprise plans

  • 如果15秒後無法建立HTTP握手,CloudFlare將超時。
  • CloudFlare在您看到524 timeout error之前,還會等待100秒,以便從您的服務器收到HTTP響應。
  • 除此之外,您的原始Web服務器上可能會超時。

522 on CloudFlare with SYN/ACK 522 on CloudFlare with ACK timeout

這聽起來像你需要Inter-Process Communication。不應該使用HTTP機制來執行阻塞任務而不發送響應,這些類型的活動應該被抽象爲服務器上的非HTTP服務。通過使用RabbitMQ(或任何其他MQ),您可以將消息從服​​務器的HTTP元素傳遞到Web服務器上的處理服務。

Pub/Sub IPC

4

我是在同一個問題與CloudFlare的溝通,並與技術支持的RabbitMQ的。

RabbitMQ建議使用Web Stomp,它依賴Web套接字。但是CloudFlare的建議......

的WebSockets將通過創建和CloudFlare的一個 持久連接沒有超時因爲如此,但是解決這個的最好的辦法 是剛剛在後臺處理請求和響應異步,並提供「加載...」頁面或類似內容,而不是讓用戶等待100秒。這也將使以及更好的用戶體驗給用戶

UPDATE:

爲了完整,我也會記錄在這裏, 我也問CloudFlare的有關通過一個子域和運行報告「灰色模糊「,他們回答如下:

我會建議驗證爲什麼它需要超過100秒的 報告。禁用子域上的Cloudflare,允許攻擊者知道你的IP地址,並且攻擊者將直接攻擊 繞過Cloudflare。

進一步更新

我終於通過使用一個線程運行報告,並使用AJAX「民意調查」,該報告是否已建立解決了這個問題。請參閱Bypassing CloudFlare's time-out of 100 seconds