Dépannage WordPress
Connexion sécurisée WordPress.org échouée : diagnostic sortant
Diagnostiquer une connexion sécurisée échouée entre WordPress et WordPress.org : DNS, TLS, horloge, proxy, pare-feu et cURL.
Lire le conseilLe message de connexion sécurisée échouée vers WordPress.org concerne une communication lancée par le serveur du site. Il ne prouve pas que le certificat présenté aux visiteurs est incorrect. Avant de remplacer un certificat ou de modifier PHP, identifiez la requête qui échoue et l’environnement qui l’exécute. La correction dépend de ce trajet précis.
Identifier la connexion sortante réellement concernée
Commencez par l’action qui affiche le message : recherche d’extensions, vérification des mises à jour ou appel à un service externe. Le navigateur communique avec votre site ; WordPress contacte ensuite une autre destination depuis l’hébergement. Ce sont deux connexions différentes. Si l’avertissement apparaît directement dans le navigateur en visitant votre domaine, consultez plutôt le guide des erreurs SSL du site.
Relevez l’heure, le nom d’hôte distant, le message complet et le code d’erreur disponible. Gardez les paramètres utiles au diagnostic dans un relevé privé, en retirant jetons, cookies et identifiants. Un message générique ne suffit pas à décider s’il faut corriger le DNS, les certificats ou une règle réseau. Comparez avec une action qui fonctionne encore, sans lancer de mise à jour pour provoquer un nouvel essai.
Vérifiez aussi quel PHP exécute la requête web. Un test depuis votre ordinateur ou une commande en terminal peut utiliser un autre réseau, une autre configuration et un autre transport. Quand l’extension est disponible, les informations de curl_version() permettent de relever la bibliothèque cURL et sa couche TLS. Demandez ce relevé à l’hébergeur si nécessaire, sans publier une page de diagnostic accessible à tous.
Lire le code d’erreur avant de choisir une correction
Lorsque cURL fournit un code, rapprochez-le de la liste officielle des erreurs libcurl. Le code 6 concerne la résolution du nom, le 7 l’établissement de la connexion et le 28 un délai dépassé. Ces indications orientent les contrôles ; elles ne désignent pas à elles seules le responsable. Notez également le message associé, qui peut préciser l’étape où la communication s’arrête.
Le code 60 signale un problème de vérification du correspondant ; le 77 peut concerner la lecture du fichier d’autorités de certification. Une erreur 35 de négociation TLS mérite encore une autre lecture. Vérifiez la date système, le nom d’hôte demandé, la chaîne présentée et les journaux accessibles, selon le message exact. Changer le certificat de votre propre site ne répond pas automatiquement à ces erreurs sortantes.
Distinguez enfin l’échec de transport d’une réponse HTTP. Un statut 403 ou 429 indique qu’une réponse a été reçue, éventuellement d’un intermédiaire : il faut alors examiner l’autorisation, le filtrage ou la fréquence des appels. Ne classez pas ce résultat comme une simple panne de certificats. Vérifiez aussi le contenu renvoyé, car une page HTML de blocage ne remplace pas la réponse attendue d’une API.
Contrôler la confiance TLS dans le bon environnement
La documentation cURL sur les certificats explique que la confiance peut reposer sur un magasin natif ou sur un fichier d’autorités, selon la construction utilisée. Le navigateur, la commande curl et PHP ne doivent donc pas être considérés comme un seul outil. Repérez la source de confiance effectivement chargée par le transport qui échoue, plutôt que de remplacer plusieurs fichiers au hasard.
WordPress ajoute son propre contexte. Les paramètres de WP_Http::request() prévoient une vérification active par défaut et un chemin de certificats dans le cœur WordPress, via sslcertificates. Un filtre ou un composant peut modifier les arguments. Une mise à jour du magasin système ne suffit donc pas à prouver que cette requête utilise désormais la bonne chaîne de confiance.
Contrôlez la lisibilité du fichier attendu, sa provenance, l’heure système et le nom distant exact. Si un certificat inattendu est présenté, faites vérifier le proxy ou le réseau avant de lui accorder votre confiance. Ne récupérez pas une autorité au hasard depuis une page d’erreur et ne désactivez pas la vérification TLS pour faire disparaître le message. Le téléchargement doit rester authentifié après la correction.
Vérifier les restrictions WordPress et le proxy
WordPress peut bloquer des demandes avant leur départ. Le fonctionnement de WP_Http::block_request() dépend notamment de WP_HTTP_BLOCK_EXTERNAL et des hôtes autorisés par WP_ACCESSIBLE_HOSTS. Faites vérifier la configuration réellement utilisée et les destinations nécessaires à l’opération. Une autorisation ciblée doit remplacer une ouverture générale, lorsqu’un filtrage volontaire est en place.
Si le réseau utilise un proxy, rapprochez ses paramètres de la configuration proxy de WordPress. Une adresse, une authentification ou une exception incorrecte peut modifier le trajet. Ne recopiez pas ses identifiants dans une capture ou un ticket public. Un essai en terminal qui contourne ce proxy n’établit pas que la requête WordPress fonctionne dans les mêmes conditions.
Faites ensuite contrôler les règles sortantes de l’hébergement et les éventuels filtres d’une extension, à partir de la destination et du message relevés. La présence d’un CDN devant le site ne prouve pas qu’il transporte ces sorties. Conservez la distinction entre filtrage WordPress, proxy et pare-feu réseau ; elle permet de transmettre la demande au bon intervenant sans élargir inutilement les accès.
Corriger la cause en conservant un retour possible
Avant une modification de production, vérifiez une sauvegarde récente et restaurable ainsi qu’une préimage de la configuration concernée. Corrigez un seul point confirmé : fichier d’autorités issu d’une source officielle, horloge, paramètre de proxy ou règle sortante. Notez la valeur précédente et la méthode de retour. Si le réglage est partagé entre plusieurs sites, son périmètre doit être connu avant l’application.
Une bibliothèque trop ancienne ou un composant WordPress altéré peut demander une remise en état, mais celle-ci doit suivre la procédure adaptée à l’hébergement. Ne forcez pas un ancien protocole TLS, ne passez pas la requête en HTTP et ne remplacez pas le nom distant par une adresse IP fixe pour contourner l’erreur. Ces changements masquent le diagnostic ou affaiblissent la connexion attendue.
Lorsque la correction dépend de l’hébergeur, transmettez l’heure avec son fuseau, l’hôte, le code d’erreur et un extrait expurgé du journal. Précisez si l’échec concerne PHP web, une tâche planifiée ou les deux. Demandez un contrôle du trajet et de la confiance réellement utilisés. Évitez d’envoyer un export de configuration complet lorsqu’un relevé limité suffit à expliquer le problème.
Rejouer la requête utile avec la vérification active
Après correction, relancez le test de lecture concerné depuis WordPress et contrôlez le résultat réel. L’écran État de santé aide à retrouver les informations et tests disponibles, mais un test réussi ne valide pas toutes les API externes. Vérifiez la destination initialement en échec, son contenu et le maintien de la vérification TLS, puis retirez les diagnostics temporaires devenus inutiles.
Si la communication fonctionne mais que la mise à jour échoue encore, reprenez cette nouvelle étape séparément. Le guide des mises à jour automatiques traite leur exécution ; le diagnostic des mises à jour de thèmes et d’extensions aide à vérifier le composant et son installation. Une connexion rétablie n’autorise pas à ignorer une erreur apparue ensuite.
Conservez le relevé avant et après, le changement confirmé et le retour prévu. Contrôlez également la prochaine vérification planifiée si c’était elle qui échouait, sans déclencher d’installation non prévue. Pour un suivi régulier, la maintenance WordPress peut intégrer ces contrôles et leur documentation. Le résultat recherché reste une communication utile et vérifiée, pas la seule disparition d’un avertissement.
