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.
Non, CloudFlare ne propose que ce genre de personnalisation sur les plans d'entreprise .
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.
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 =