我们最近发现了有关Nginxes post_action
的信息.
我们想知道如果进行代理缓存命中,有一种方法可以使用该指令吗?
我们希望的流程如下:
1) User request comes in
2) If cache HIT goto A / If cache MISS goto B
A) 1) Serve Cached Result
A) 2) post_action to another url on the backend
B) 1) Server request from backend
B) 2) Store result from backend
如果可以通过post_action或任何其他方法获得任何想法?
这背后的原因如下:
我们本质上希望在显示缓存内容时修改用户会话(PHP,但相同的概念可以应用于大多数服务器端语言).这将大大增加我们处理的可缓存请求的数量,因为这些请求仅写入会话而不是从会话中读取.
谢谢!
最佳答案
如果你还没有解决它,那么这是一个通过你的要求的示例配置:
server { listen 80; server_name img1.example; root /var/www/images; location / { // Users request comes in try_files $uri @proxy; // If cache HIT goto A (show) / If cache MISS goto B (@proxy),server cached result post_action /url.PHP; // post_action to another url on the backend } location @proxy { proxy_pass http://static.exmaple; // Server request from backend proxy_store /var/www/images$uri; // Store result from backend (cache) } }
原文地址:https://www.jb51.cc/nginx/435415.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。