world run nodeport hello example deploy app nginx http-headers fastcgi

run - Enviar encabezado adicional al back end de FastCGI con nginx



kubernetes service example (4)

Eché un vistazo rápido al manual y creo que lo más cercano que encontrarás es pasar los parámetros fastcgi:

Los encabezados de solicitud se transfieren al servidor FastCGI en forma de parámetros. En las aplicaciones y los scripts que se ejecutan desde FastCGI-server, estos parámetros generalmente son accesibles en forma de variables de entorno. Por ejemplo, el encabezado "User-agent" se transfiere como parámetro HTTP_USER_AGENT. Además de los encabezados de la solicitud HTTP, es posible transferir parámetros arbitrarios con la ayuda de la directiva fastcgi_param.

http://wiki.nginx.org/HttpFcgiModule#Parameters.2C_transferred_to_FastCGI-server .

fastcgi_param

sintaxis: valor del parámetro fastcgi_param

http://wiki.nginx.org/HttpFcgiModule#fastcgi_param

Uso nginx con varios backends fastcgi (php-cgi, mod-mono-fastcgi4). Ahora necesito enviar un encabezado http adicional al backend de fastcgi, básicamente lo mismo que proxy_set_header cuando use nginx como proxy inverso. Pero para mis conclusiones, no existe tal cosa como fastcgi_set_header en nginx.

Alguien tiene alguna idea de cómo hacer esto de todos modos? No quiero usar módulos nginx adicionales ya que la solución debe poder implementarse fácilmente en una amplia gama de sistemas de clientes.


Puede hacer esto con el módulo de terceros ngx_headers_more . Después de compilar nginx con este módulo incluido, puede hacer lo siguiente en su configuración:

location / { more_set_input_headers ''Foo: bar baz''; ... }


Nginx ahora tiene:

fastcgi_pass_header ''Cache-Control: no-cache, must-revalidate'';

Que se puede usar en las reglas de ubicación si agrega encabezados que no están especificados en su solicitud. Por defecto fastcgi usa:

fastcgi_pass_request_headers on;

Que pasará todos los encabezados entrantes de la solicitud a fastcgi.


Las URL de los artículos wiki de nginx anteriores están rotas.

nginx expone los valores del encabezado de solicitud a través de variables con el prefijo $ http_ , por lo que un encabezado de solicitud de HTTP_USER_AGENT está disponible a través de $ http_user_agent .

Del mismo modo, un encabezado de solicitud llamado CHICKEN_SOUP estaría disponible a través de $ http_chicken_soup .

El siguiente ejemplo muestra cómo pasar el encabezado de solicitud HTTP de autorización a scripts PHP que se ejecutan bajo php-fpm (administrador de procesos PHP FastCGI).

location ~ /.php$ { fastcgi_pass unix:/path/to/socket; fastcgi_index index.php; fastcgi_param HTTP_AUTHORIZATION $http_authorization; ... other settings }