web-dev-qa-db-fra.com

Est-il possible d'augmenter le délai d'expiration de CloudFlare?

Est-il possible d'augmenter le délai d'expiration de CloudFlare? Si oui, comment?

Mon code prend du temps à exécuter et je ne prévoyais pas de l'ajaxifier dans les prochains jours.

enter image description here

18
guaka

Non, CloudFlare ne propose que ce genre de personnalisation sur les plans d'entreprise .

  • CloudFlare expirera s'il ne parvient pas à établir une négociation HTTP après 15 secondes.
  • CloudFlare attendra également 100 secondes pour une réponse HTTP de votre serveur avant que vous ne voyiez 524 timeout error .
  • En dehors de cela, il peut y avoir des délais d'attente sur votre serveur Web Origin.

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

Il semble que vous ayez besoin de Communication inter-processus . HTTP ne doit pas être utilisé comme un mécanisme pour effectuer des tâches de blocage sans envoyer de réponses, ce type d'activités doit plutôt être retiré à un service non HTTP sur le serveur. En utilisant RabbitMQ (ou tout autre MQ), vous pouvez ensuite transmettre des messages de l'élément HTTP de votre serveur au service de traitement de votre serveur Web.

Pub/Sub IPC

25
mjsa

J'étais en communication avec Cloudflare sur le même problème, ainsi qu'avec le support technique de RabbitMQ.

RabbitMQ a suggéré d'utiliser Web Stomp qui s'appuie sur Web Sockets. Cependant Cloudflare a suggéré ...

Les Websockets créeraient une connexion persistante via Cloudflare et il n'y a pas de délai en tant que tel, mais la meilleure façon de résoudre ce problème serait simplement de traiter la demande en arrière-plan et de répondre de manière asynchrone, et de servir une page de chargement ... ou similaire, plutôt que d'avoir à attendre 100 secondes. Cela donnerait également une meilleure expérience utilisateur à l'utilisateur

MISE À JOUR:

Par souci d'exhaustivité, je noterai également ici que j'ai également demandé à CloudFlare de lancer le rapport via un sous-domaine et de le "clouding" et ils ont répondu comme suit:

Je vais suggérer de vérifier pourquoi cela prend plus de 100 secondes pour les rapports. Désactiver Cloudflare sur le sous-domaine, permet aux attaquants de connaître votre IP d'origine et les attaquants attaqueront directement en contournant Cloudflare.

NOUVELLE MISE À JOUR

J'ai finalement résolu ce problème en exécutant le rapport à l'aide d'un thread et en utilisant AJAX pour "interroger" si le rapport a été créé. Voir Contourner le délai d'expiration de CloudFlare de 100 secondes =

9
gordon613