Oggi quasi tutti i gli hosting providers utilizzano Cloudflare per utilizzare al meglio le risorse dei server.
Cloudflare però aspetta la risposta del server per massimo 100 secondi dopo di che va in errore 524 di timeout.
Se devi eseguire uno script che richiede più di quel tempo non puoi farci nulla, non c'è modo che Cloudflare ti abiliti un tempo più lungo, tranne che sugli account Enterprise ... ma noi non siamo il capitano Kirk e nemmeno Spock ...
Un modo per bypassare questo limite è quello di eseguire uno script in PHP con quello che io definisco "fire and forget". Cioè lanciamo lo script e ritorniamo subito la risposta al server, lasciando lo script in esecuzione in backuground.
Come farlo? Ma con uno script in PHP ovviamente!
Solo che dobbiamo aver cura di gestire due script. Il primo sarà quello richiamabile dall'esterno ed il secondo sarà lo script eseguito in background.
Esempio:
Script da eseguire in background per un lungo periodo:
Script luuuungo:
// script1.php
<?php
sleep(200);
echo "faccio tante cose";
sleep(1000);
echo "perdo molto tempo";
?>
Script che viene eseguito tramite get di URL e che esegue lo script di sopra:
// script2.php
<?php
exec("php script1.php > /dev/null &");
echo "ho finito subito! il lavoro intanto sta procedendo";
?>
(-;
Visualizzazione post con etichetta Cloudflare. Mostra tutti i post
Visualizzazione post con etichetta Cloudflare. Mostra tutti i post
giovedì 30 aprile 2020
giovedì 23 aprile 2020
Cloudflare e impostazioni variabili htaccess
Quando ti trovi con il sito dietro la rete Cloudflare, l'indirizzo IP del browser viene sostituito con quello di Cloudflare, mentre l'indirizzo IP orginale viene messo nell'header CF-Connecting-IP Quindi se ci serve utilizzare il file htaccess di Apache per restringere l'accesso filtrando l'indirizzo IP, dobbiamo settarlo in questo modo:
In questo caso "10.20.30.40" è il nostro IP statico che vogliamo permettere di accedere al file index.php (-;
Etichette:
blocco,
Cloudflare,
htaccess,
IP,
restrizione
Iscriviti a:
Post (Atom)