Maison >développement back-end >tutoriel php >Comment transmettre les en-têtes d'autorisation d'Apache 2.4 à PHP-FPM ?

Comment transmettre les en-têtes d'autorisation d'Apache 2.4 à PHP-FPM ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-22 21:08:29610parcourir

How to Pass Authorization Headers from Apache 2.4 to PHP-FPM?

Apache 2.4 PHP-FPM : gestion des en-têtes d'autorisation

Mod_proxy_fcgi d'Apache 2.4, couramment utilisé pour envoyer des requêtes proxy à PHP-FPM, peut rencontrer des problèmes lors de la transmission des en-têtes d'autorisation à le processus externe FastCGI. Cela peut empêcher les utilisateurs d'accéder à certaines fonctionnalités, telles que le moniteur de cache utilisateur d'APC.

Cause

Divers modules Apache peuvent supprimer l'en-tête Authorization pour des raisons de sécurité perçues. Identifier le module spécifique responsable peut être difficile.

Solution de contournement avec SetEnvIf

Pour contourner ce problème, vous pouvez transmettre l'en-tête directement à PHP via env :

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=

Considérations supplémentaires

Dans certains cas, passer l'en-tête via l'env peut ne pas être suffisant. Vous devrez peut-être également modifier votre code PHP pour accéder à l'en-tête d'autorisation à partir de $_SERVER['REDIRECT_HTTP_AUTHORIZATION'] au lieu de $_SERVER['HTTP_AUTHORIZATION'].

Solution alternative

Si la solution de contournement SetEnvIf s'avère inefficace, une autre solution possible consiste à examiner la configuration d'Apache pour les paramètres liés au passage d'en-tête.

Conclusion

Passer les en-têtes d'autorisation d'Apache 2.4 vers PHP-FPM peut être problématique, mais en comprenant les causes potentielles et en mettant en œuvre des solutions de contournement appropriées, vous pouvez garantir que les utilisateurs ont accès aux caractéristiques et fonctionnalités nécessaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn