我正在寻找自定义的行为,我们的NGINX负载平衡器动态每个请求。基本上,我想做一些事情,比如过滤糟糕的请求,根据一些自定义外部代码动态地确定上游服务器,并做一些自定义的统计/日志记录。
我认为实现这一点的唯一方法是使用模块,但我没有编写C/C++代码的经验,而且我想要运行的许多决策代码已经部分存在于其他系统中(特别是C#代码)。
。
我发现的最接近的是ngx_http_auth_request_module
,它可以发出HTTP子请求,但它只能用来以是/否的方式确定身份验证状态,而不能选择上游服务器等。
发布于 2022-08-26 00:22:29
我通过LUA脚本模块找到了一个解决方案,并创建了一个脚本来调用我们自己的HTTP进行决策。
LUA模块:https://github.com/openresty/lua-nginx-module
Stackoverflow文章我用来激励:https://stackoverflow.com/questions/48348647/fetch-information-from-an-api-before-sending-the-request-upstream
https://serverfault.com/questions/1109043
复制