nginx & php-fpm et en-tête personnalisé

J'aimerais passer un en-tête personnalisé (ACCESS_TOKEN) de l'application client RESTful (JS) au server d'applications (php-fpm).

J'ai lu que nginx devrait passer tous les en-têtes http à php, mais en quelque sorte, il ne vient pas à mon php 🙁

Je peux le voir dans firebug http://o7.no/N6DM7q mais je ne peux pas le voir dans la variable $ _SERVER. Il n'existe pas dans $ _SERVER array.

Je pense que je dois le transmettre manuellement. Maintenant, ma configuration ressemble à ça:

location @php-fpm { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/tmp/php5-fpm.sock; fastcgi_param REQUEST_URI /index.php$request_uri; fastcgi_param SCRIPT_FILENAME /htdocs/index.php; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param DOCUMENT_ROOT /htdocs; } } 

et lorsque j'ajoute une nouvelle ligne dans la définition de l'location:

 location @php-fpm { include /etc/nginx/fastcgi_params; ... fastcgi_param ACCESS_TOKEN $http_access_token; } } 

ou même si je l'appendai au file fastcgi_params, cela ne vous aide pas 🙁

si je place dans la partie de l'location la prochaine ligne:

  fastcgi_param ACCESS_TOKEN $http_access_token; 

alors dans php il a une valeur vide 🙁

Comment puis-je passer l'en-tête personnalisé du client vers le backend (php) via nginx?

Je vois un problème en ce que dans l'en-tête personnalisé ne peut pas être utilisé le trait de soulignement. Au lieu de ACCESS_TOKEN, je dois utiliser ACCESS-TOKEN comme nom d'en-tête, alors nginx le transmet automatiquement.

Et une explication sur la façon de réparer a été trouvée dans cette question StackOverflow .