Dyn*_*lon 11 fastcgi nginx http-headers
我使用nginx和几个fastcgi后端(php-cgi,mod-mono-fastcgi4).现在我需要向fastcgi后端发送一个额外的http标头,与使用nginx作为反向代理时的proxy_set_header基本相同.但根据我的发现,nginx中没有fastcgi_set_header这样的东西.
有人有任何想法如何做到这一点?我不想使用额外的nginx模块,因为解决方案可以在各种客户系统上轻松部署.
小智 10
我快速浏览了一下手册,我认为最接近的是传递fastcgi参数:
请求标头以参数的形式传输到FastCGI服务器.在从FastCGI服务器运行的应用程序和脚本中,通常可以以环境变量的形式访问这些参数.例如,标题"User-agent"作为参数HTTP_USER_AGENT传输.除了HTTP请求的标头之外,还可以借助指令fastcgi_param传输任意参数.
http://wiki.nginx.org/HttpFcgiModule#Parameters.2C_transferred_to_FastCGI-server.
fastcgi_param
语法:fastcgi_param参数值
http://wiki.nginx.org/HttpFcgiModule#fastcgi_param
上面 nginx wiki 文章的 URL 已损坏。
nginx 通过以$http_为前缀的变量公开请求标头值,因此HTTP_USER_AGENT的请求标头可通过$http_user_agent 获得。
同样,名为CHICKEN_SOUP的请求标头可通过$http_chicken_soup 获得。
下面的示例显示了如何将Authorization HTTP 请求标头传递给在 php-fpm(PHP FastCGI 进程管理器)下运行的 PHP 脚本。
location ~ \.php$ {
fastcgi_pass unix:/path/to/socket;
fastcgi_index index.php;
fastcgi_param HTTP_AUTHORIZATION $http_authorization;
... other settings
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21424 次 |
| 最近记录: |