嗯,这个问题搜起来还挺费劲的,还好谷歌上尝试了几个搜索关键词,找到了有价值的参考,配置是删除不必要的推广参数然后做为缓存的key。

proxy_cache_key默认值为:

proxy_cache_key $scheme$proxy_host$uri$is_args$args;

示例代码如下:

set $c_uri $args; # e.g. "param1=true&param4=false"

if ($c_uri ~ (.*)(?:&|^)utm_source=[^&]*(.*)) {
set $c_uri $1$2;
}

if ($c_uri ~ (.*)(?:&|^)utm_term=[^&]*(.*)) {
set $c_uri $1$2;
}

if ($c_uri ~ (.*)(?:&|^)utm_campaign=[^&]*(.*)) {
set $c_uri $1$2;
}

if ($c_uri ~ (.*)(?:&|^)utm_medium=[^&]*(.*)) {
set $c_uri $1$2;
}

if ($c_uri ~ (.*)(?:&|^)utm_content=[^&]*(.*)) {
set $c_uri $1$2;
}

if ($c_uri ~ ^&(.*)) {
set $c_uri $1;
}

set $c_uri $is_args$c_uri;
proxy_cache_key $c_uri;

代码摘录自:https://gist.github.com/a-vasyliev/de8ffc6c6aa74cdeadfe

总体核心就是处理好参数,最终设置即可。

同样原理,对fastcgi_cache_key应该也是通用的。


如您从本文得到了有价值的信息或帮助,请考虑扫描文末的二维码对我进行赞赏和鼓励。

与《Nginx proxy_cache_key 过滤某些参数如何实现》相关的博文:


发布时间 02/15/2018 08:04:50所属栏目 Software.所属标签 .

留言

Admin Avatar
😀
😀😁😂😅😭🤭😋😘🤔😰😱🤪💪👍👎🤝🌹👌