Dieselbe PHP-Datei kann in einem Terminal einen Proxy verwenden und direkt gehen, wenn sie von PHP-FPM ausgeliefert wird. Vergleichen Sie zunächst die Prozesse, die sie ausführen. Ihr Terminal startet PHP mit seiner Shell-Umgebung; der Webserver sendet eine Anfrage an Worker, die FPM bereits erstellt hat.

Sehen Sie sich die Umgebung des Workers an

Die FPM-Pool-Konfiguration stellt clear_env und explizite env[NAME]-Einträge bereit. Bei aktivierter Umgebungsbereinigung platziert das Exportieren einer Variablen in Ihrer Login-Shell sie nicht in einem Worker. Pool-Einträge können ausgewählte Variablen weitergeben:

env[http_proxy] = http://203.0.113.10:8080
env[https_proxy] = http://203.0.113.10:8080

Wenden Sie Konfigurationsänderungen über das übliche FPM-Neuladeverfahren Ihrer Bereitstellung an. Legen Sie die Werte in dem Pool ab, der die Anwendung tatsächlich bedient. Ein anderer Pool, ein anderes Dienstkonto oder ein anderer Container kann erklären, warum eine scheinbar korrekte Änderung keine Wirkung hat.

Prüfen Sie beim Debuggen einer Live-Anfrage nur, ob die erwarteten Einstellungen vorhanden sind. Eine öffentliche Diagnoseseite, die vollständige Umgebungswerte ausgibt, kann Proxy-Anmeldedaten zusammen mit unabhängigen Geheimnissen offenlegen.

Prüfen Sie dann den PHP-Transport

libcurl hat eine dokumentierte Behandlung der Proxy-Umgebung; ein explizites PHP-cURL-Handle hat ebenfalls eigene Optionen. Der HTTP-Stream-Wrapper von PHP hat eine separate Kontextkonfiguration. Variablen für einen Worker bereitzustellen, bedeutet nicht, dass jede PHP-Netzwerk-API sie nutzt.

Das ergibt eine nützliche zweiteilige Prüfung: Bestätigen Sie, was der Worker erhalten hat, und bestätigen Sie dann, wie der gewählte HTTP-Client Proxy-Einstellungen liest. Wenn CLI und FPM dieselben Werte erhalten, sich aber weiterhin unterschiedlich verhalten, vergleichen Sie als Nächstes die Client-Optionen und Bypass-Regeln. Wiederholtes Bearbeiten des Shell-Profils kann einen Unterschied im HTTP-Client des Workers nicht klären.

Ähnliche Artikel