trafficserver 入坑(六)过滤POST请求

为什么过滤

最近发现ats缓存总是被莫名的清掉,查日志发现有TCP_REFRESH_MISS/200 POST的日志,然后就会回源。日志如下

1.png

大小: 5.26 K
尺寸:  x 
浏览: 19 次
点击打开新窗口浏览全图

测试流程如下

2.png

大小: 30.41 K
尺寸:  x 
浏览: 28 次
点击打开新窗口浏览全图

修改思路

先是把cache.config中的method指定为get了,post也批定不cache了,但是还是不行,于是只能从nginx下手把POST请求全转走,配置如下

        set $CacheFlag 1;
        location / {
                if ($request_method = POST) {
                        set $CacheFlag 0;
                        rewrite ^/(.*)$ /NOCACHE/$1 last;
                }
                # 转发到ats,此处略去...
                ...
        }
        location /NOCACHE/ {
                if ($CacheFlag = "1") {
                        return 403;
                }
                # 跳过ats, 直接转发到回源地址,此处略去
                ...
        }

修改后测试正常

Tags: trafficserver

上一篇: trafficserver (五)目录正则刷新缓存   下一篇: avast 导致虚拟机 vt 虚拟化无法开启

相关文章

提交疑问

回顶部