如何通过NGINX在C中的FCGI服务器之间传递自定义参数?

介绍

我的FastCGI服务器是用C语言编写的.我希望FCGI auth服务器将一些自定义参数(例如Radius服务器返回的一些参数)传递给FCGI“后端”服务器.

我的问题

Nginx是否支持在C中的两个FCGI服务器之间传递自定义参数?如果是的话,我将非常感谢以下方面的帮助:

>如何编程FCGI auth服务器以将变量传递给Nginx.
>如何编程FCGI后端服务器以读取自定义参数
>如何配置Nginx.conf文件.在下面的示例中,我有“fastcgi_param CUSTOM_ParaM custom_param;”.我不知道这是否是这样做的方式,我通过HTTP头参数完成了它.

辛苦的工作

这就是我所拥有的. FCGI / auth服务器将设置custom_param变量,我希望Nginx将此变量转发到FCGI后端服务器.

location / {
    auth_request /auth;
    include fastcgi_params;
    fastcgi_pass   127.0.0.1:9000;
}

location = /auth {
    include fastcgi_params;
    fastcgi_param CUSTOM_ParaM custom_param;
    fastcgi_pass   127.0.0.1:9010;
}

谢谢你的帮助!

解决方法:

身份验证处理程序通过http标头将信息传递回服务器.使用Nginx,您将使用auth_request_set将这些值分配给变量:

location / {
    auth_request /auth;
    auth_request_set $receive_from_auth $upstream_http_x_custom_param;
    include fastcgi_params;
    fastcgi_pass   127.0.0.1:9000;
}

Nginx向FCGI发送参数的方式与您指示的方式相同:

location = /auth {
    include fastcgi_params;
    set $send_to_auth yourvalue; 
    fastcgi_param CUSTOM_ParaM $send_to_auth;
    fastcgi_pass   127.0.0.1:9010;
}

这些参数是从环境中读取的:

char *custom_param;
custom_param = getenv("CUSTOM_ParaM");

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...