web-dev-qa-db-ja.com

vcl_backend_responseでreq.urlを取得するにはどうすればよいですか?

私の設定はVarnish3.0に基づいており、更新しています。しかし、私は障害に遭遇しました。

vcl_fetchvcl_backend_responseに置き換えられました。 vcl_fetchの内部では、以前はreq.urlを使用できましたが、vcl_backend_responseの内部では使用できなくなりました。

したがって、機能しない3つのifステートメントが残ります。

sub vcl_backend_response {
     set beresp.do_esi = true;

     if (!(req.url ~ "wp-(login|admin)")) {
           unset beresp.http.set-cookie;
     }

     if ( req.http.Host ~ "[0-9]\.example\.com" || req.http.Host ~ "[0-9]\.example\.com") {
          set beresp.ttl = 60s;
     }

     if ( req.url ~ "\.(html|htm|css|js|txt|xml|svg)(\?[a-z0-9=]+)?$" ) {
          set beresp.do_gzip = true;
     }
}

Varnishバージョン4.0でこれらの構成を変換するにはどうすればよいですか?

ちなみに私はVarnishVCLを初めて使用します。

16
jnbdz

bereq.urlvcl_backend_responseを使用する必要があります。

35
Alex Strate