WP_PROXY_HOST und WP_PROXY_PORT sind gesetzt. Eine Anfrage an eine externe API nutzt den Proxy, eine Anfrage zurück an den eigenen Hostnamen von WordPress jedoch nicht. Das kann die beabsichtigte Umgehungsrichtlinie der HTTP-API sein.

WP_HTTP_Proxy entscheidet, ob eine bestimmte URI durch den Proxy laufen soll. Seine Standardlogik umgeht localhost und den Hostnamen, der aus der konfigurierten siteurl der Website abgeleitet wird. Das ist etwas anderes als die bloße Frage, ob Proxy-Konstanten vorhanden sind.

Prüfen Sie die von WordPress ausgewertete URL

Halten Sie den angefragten Hostnamen, die konfigurierte Website-URL und WP_PROXY_BYPASS_HOSTS zusammen. Eine Anfrage an einen öffentlichen Hostnamen und eine an einen internen Alias können unterschiedliche Entscheidungen treffen, auch wenn beide dieselbe Anwendung erreichen.

WP_PROXY_BYPASS_HOSTS ergänzt eine konfigurierte Liste von Host-Ausnahmen. Sie ist keine Menge von Zielen, die der entfernte Proxy erlaubt, und sie macht eine ansonsten blockierte externe Anfrage nicht zulässig.

Die standardmäßige Ausnahme der eigenen Website kann nützlich sein: Sie verhindert, dass eine lokale Anwendungsanfrage im Loopback-Stil an einen Vermittler hinausgeht. Eine Installation, in der der öffentliche Hostname der Website nur über eine bestimmte freigegebene Route erreichbar ist, kann jedoch eine andere bewusste Entscheidung benötigen.

Ändern Sie die Entscheidung am unterstützten Hook

Der Filter pre_http_send_through_proxy kann die Entscheidung pro URI überschreiben. Halten Sie jede Überschreibung eng und stimmen Sie sie auf den Host oder die Bedingung ab, die sie behandeln soll. Eine feste Antwort für jede URI zurückzugeben, ändert die Richtlinie der gesamten HTTP-API.

Prüfen Sie auch den gewählten Transport. Code, der ein separates SDK oder eine rohe PHP-Netzwerkfunktion aufruft, nutzt nicht automatisch die HTTP-API von WordPress und deren Filter.

Wenn Sie diesen Weg diagnostizieren, halten Sie die Umgehungsentscheidung fest, ohne vollständige Anfrageargumente öffentlich auszugeben. Sie können Cookies, Kontoinformationen und Proxy-Geheimnisse enthalten. Ein Proxy-Log ohne passende Anfrage passt zu einer Umgehung, reicht allein aber nicht aus, um sie von einer nie gestellten Anfrage zu unterscheiden.

Ähnliche Artikel