这可能更好地服务于 ServerFault ,但是,我正在评估 nginx 以确定它是否能够解决特定问题。
问题
我想将 nginx 响应缓存与 FastCGI 缓存一起使用。但我需要使用 cookie 中的值设置缓存键。问题是 cookie 需要先解密,然后才能获取在缓存 key 中使用它的值。
我所知道的
我知道如何将 nginx 配置为缓存 ( fastcgi_cache
)。我也知道我可以在缓存键 (fastcgi_cache_key
) 中设置和使用自定义变量。但是,我不知道如何调用自定义函数来解密cookie。我知道 nginx 有模块的概念。我还注意到与 Lua 的集成。
问题
如果我的解密可以作为 C 代码使用,我可以从 nginx 配置访问这个外部代码并使用它的返回值吗?
最佳答案
只要您的代码是用 C 语言编写的,最简单的解决方案就是编写简单的 nginx 模块,该模块提供一个具有解密值的变量。可以在 ngx_http_secure_link_module 中找到有关如何提供变量的相对简单的示例。 .
关于c - 通过在 nginx 配置中调用外部 C 代码来设置缓存键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13751210/