2016-05-23 41 views
7

Sto facendo una richiesta Ajax a un sito dietro Cloudflare. Dopo 100 secondi, ottengo un 524. Tuttavia non sono in grado di elaborare quel 524 nel mio Javascript in quanto la pagina di errore viene servita direttamente da Cloudflare e non contiene le intestazioni Access-Control-Allow-Origin richieste.Errore Cloudflare 524 con AJAX

Vorrei riprovare la query in caso di ottenere un 524.

risposta

2

Se si sa che il bordo CloudFlare attenderà una risposta HTTP dal server per esattamente 100 secondi, quindi si può solo impostare un timeout uguale a 100 secondi sulla richiesta Ajax. E riprovare la query dopo il timeout.

In alternativa, è possibile spostare questa richiesta nel sottodominio che non si trova sotto il proxy cloud flare.


Un'altra idea è utilizzare un proxy inverso e aggiungere intestazioni CORS. In Apache che sarebbe

<LocationMatch "/ajax-request-used-in-js"> 
    ProxyPass http://example.com/ajax 
    Header add "Access-Control-Allow-Origin" "*" 
</LocationMatch> 
+0

Questa è un'idea interessante. –