Beim mod_proxy_fcgi von Apache 2.4, der häufig zum Weiterleiten von Anfragen an PHP-FPM verwendet wird, können Probleme bei der Übergabe von Autorisierungsheadern auftreten der externe FastCGI-Prozess. Dies kann dazu führen, dass Benutzer nicht auf bestimmte Funktionen zugreifen können, beispielsweise auf den Benutzer-Cache-Monitor von APC.
Ursache
Verschiedene Apache-Module können den Authorization-Header aus vermeintlichen Sicherheitsgründen entfernen. Die Identifizierung des spezifischen Moduls, das verantwortlich ist, kann eine Herausforderung sein.
Problemumgehung mit SetEnvIf
Um dieses Problem zu umgehen, können Sie den Header direkt über env:
an PHP übergebenSetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=
Zusätzliche Überlegungen
In manchen Fällen reicht es möglicherweise nicht aus, den Header über die Umgebung zu übergeben. Möglicherweise müssen Sie auch Ihren PHP-Code ändern, um über $_SERVER['REDIRECT_HTTP_AUTHORIZATION'] statt über $_SERVER['HTTP_AUTHORIZATION'] auf den Autorisierungsheader zuzugreifen.
Alternative Lösung
Wenn sich die SetEnvIf-Problemumgehung als unwirksam erweist, besteht eine andere mögliche Lösung darin, die Apache-Konfiguration auf Einstellungen im Zusammenhang mit der Header-Übergabe zu untersuchen.
Fazit
Übergabe von Autorisierungsheadern von Apache 2.4 zu PHP-FPM kann problematisch sein, aber indem Sie die möglichen Ursachen verstehen und entsprechende Problemumgehungen implementieren, können Sie sicherstellen, dass Benutzer Zugriff auf die erforderlichen Features und Funktionen haben.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Autorisierungsheader von Apache 2.4 an PHP-FPM?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!