IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    apache traffic server 简称ats 入坑(五)过滤POST请求

    linuxphp@qq.com(keminar)发表于 2015-12-21 17:58:00
    love 0
    贵贵的博客 ( http://blog.linuxphp.org/ ) :

    为什么过滤

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

    1.png

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

    测试流程如下

    2.png

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

    修改思路

    先是把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, 直接转发到回源地址,此处略去
                    ...
            }
    

    修改后测试正常



沪ICP备19023445号-2号
友情链接