在 Nginx 中,我可以同时处理来自 memcached 的 location:url 或 content-type: text/html 响应吗?

在 Nginx 中,我可以同时处理来自 memcached 的 location:url 或 content-type: text/html 响应吗?

我正在设置一个 nginx - apache 反向代理,其中 nginx 处理静态文件,apache 处理动态文件。我有一个搜索引擎,根据搜索参数,我可以直接将用户转发到他们正在寻找的页面或提供一组搜索结果。

我将这些结果缓存在 memcached 中

key:/search.cgi?q=foo
value: LOCATION:http://www.example.com/foo.html

key:/search.cgi?q=bar
value: CONTENT-TYPE: text/html

<html>
....
....
</html>

我可以使用 nginx 从 memcached 中提取“Content-type....”值并将其发送给用户,但我不太清楚如何处理像“Location...”这样的返回值。

我可以吗?

答案1

据我所知,nginx memcached 模块只能存储请求的原始内容,无论是 gif、html 还是其他什么。如果不破解模块,它将无法解释您的 LOCATION 参数。(不推荐)

要以这种方式使用 nginx,您必须使用 memcached 来存储 LOCATION 字段指定的页面的实际 html 内容,并将其存储在您的 memcached 中,或者以其他方式使用一组重定向。

相关内容