Sur l'ancien serveur, certaines URLs d'images bloquaient carrément le serveur, qui se trouvait à essayer de les télécharger avec un timeout infini.
Le problème se posait sur quelques serveurs, notamment un site d'infos ukrainien ou russe (??) et je l'avais tracé dans le fait qu'il tentait de se connecter en IPv6. Le patch suivant forçait l'IPv4. Je ne sais pas s'il est encore indispensable.
Index: ecrire/inc/distant.php
===================================================================
--- ecrire/inc/distant.php (révision 21956)
+++ ecrire/inc/distant.php (copie de travail)
@@ -676,10 +676,15 @@
if ($t2['user'])
$proxy_user = base64_encode($t2['user'] . ":" . $t2['pass']);
}
- else
- $first_host = $noproxy . $host;
+ else {
+ # gethostbyname force l'IPv4, sinon on plante souvent
+ if ($noproxy === 'ssl://')
+ $first_host = $noproxy . $host;
+ else
+ $first_host = $noproxy . array_pop(gethostbynamel($host));
+ }
- $f = @fsockopen($first_host, $port);
+ $f = @fsockopen($first_host, $port, $errno, $errstr, $timeout=3);
spip_log("Recuperer $path sur $first_host:$port par $f");
if (!$f) return false;
Le patch est présent sur le nouveau serveur, et le test serait à faire éventuellement sur la page https://seenthis.net/messages/323930 en supprimant la copie locale des images.
Sur l'ancien serveur, certaines URLs d'images bloquaient carrément le serveur, qui se trouvait à essayer de les télécharger avec un timeout infini.
Le problème se posait sur quelques serveurs, notamment un site d'infos ukrainien ou russe (??) et je l'avais tracé dans le fait qu'il tentait de se connecter en IPv6. Le patch suivant forçait l'IPv4. Je ne sais pas s'il est encore indispensable.