<div dir="ltr">No: <a href="https://github.com/varnish/varnish-modules/blob/master/src/vmod_header.vcc#L35">https://github.com/varnish/varnish-modules/blob/master/src/vmod_header.vcc#L35</a><div><br></div><div>Check ``man vmod_headers`` for more info.</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>-- <br></div>Guillaume Quintard<br></div></div></div>
<br><div class="gmail_quote">On Tue, Nov 28, 2017 at 8:03 AM, matrix <span dir="ltr"><<a href="mailto:matrix@matrix2000.name" target="_blank">matrix@matrix2000.name</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">thank you for checking.<br>
<br>
I would like to make it clear about vmod header action.<br>
Does ‘header append’ mean to append value of each header? or to append<br>
the entire header ?<br>
<br>
I complete thought that handled value of existing header below.<br>
<br>
header.append(bereq.http.<wbr>Accept-Encoding, "aaaa");<br>
<br>
Vary:http.Accept-Encoding"<wbr>aaaa"<br>
<br>
header.append(bereq.http.<wbr>Accept-Encoding, "bbbb");<br>
<br>
Vary:http.Accept-Encoding"<wbr>aaaa,bbbb"<br>
<br>
*thank you for information about br. I already check!<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
2017-11-27 21:23 GMT+09:00 Guillaume Quintard <<a href="mailto:guillaume@varnish-software.com">guillaume@varnish-software.<wbr>com</a>>:<br>
> So the varnishlog confirms the vmods works as expected:<br>
><br>
> -   BereqUnset     Accept-Encoding: gzip<br>
> -   BereqHeader    Accept-Encoding: aaaa<br>
> -   BereqHeader    Accept-Encoding: bbbb<br>
><br>
> bereq is "BackEnd REQuest", if you want to change the "BackEnd RESPonse",<br>
> use beresp.http.*.<br>
><br>
> And you can simply to:<br>
><br>
> set bereq.http.accept-encoding = "br, gzip";<br>
><br>
> Just know that while varnish natively support gzip, it's not the case for<br>
> brotli. You can have a look at this blog post:<br>
> <a href="https://info.varnish-software.com/blog/varnish-cache-brotli-compression" rel="noreferrer" target="_blank">https://info.varnish-software.<wbr>com/blog/varnish-cache-brotli-<wbr>compression</a><br>
><br>
> --<br>
> Guillaume Quintard<br>
><br>
> On Mon, Nov 27, 2017 at 1:04 PM, matrix <<a href="mailto:matrix@matrix2000.name">matrix@matrix2000.name</a>> wrote:<br>
>><br>
>> hi thank you for your reply<br>
>><br>
>> According to varnishlog Bereq header are displayed but origin server<br>
>> log, only Accept-Encoding: aaaa .<br>
>><br>
>> -   BereqHeader    Accept-Encoding: aaaa<br>
>> -   BereqHeader    Accept-Encoding: bbbb<br>
>><br>
>> I would like to change  Accept-Encoding Header to br,gzip, because the<br>
>> varnish is force replaced Accept-Encoding gzip when backend request.<br>
>><br>
>> VCL<br>
>> unset bereq.http.Accept-Encoding;<br>
>> header.append(bereq.http.<wbr>Accept-Encoding, "aaaa");<br>
>> header.append(bereq.http.<wbr>Accept-Encoding, "bbbb");<br>
>><br>
>><br>
>> Full varnishlog below<br>
>><br>
>> *   << BeReq    >> 3<br>
>> -   Begin          bereq 2 fetch<br>
>> -   Timestamp      Start: 1511783436.988432 0.000000 0.000000<br>
>> -   BereqMethod    GET<br>
>> -   BereqURL       /cache/200.php<br>
>> -   BereqProtocol  HTTP/1.1<br>
>> -   BereqHeader    User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu)<br>
>> libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2<br>
>> -   BereqHeader    Accept: */*<br>
>> -   BereqHeader    host: <a href="http://test.com" rel="noreferrer" target="_blank">test.com</a><br>
>> -   BereqHeader    Accept-Encoding: gzip<br>
>> -   BereqHeader    Surrogate-Capability: key=ESI/1.0<br>
>> -   BereqHeader    X-Cache-Key: /cache/200.php<br>
>> -   BereqHeader    X-Varnish: 3<br>
>> -   VCL_call       BACKEND_FETCH<br>
>> -   BereqUnset     Accept-Encoding: gzip<br>
>> -   BereqHeader    Accept-Encoding: aaaa<br>
>> -   BereqHeader    Accept-Encoding: bbbb<br>
>> -   VCL_return     fetch<br>
>> -   BackendOpen    21 boot.backend1 127.0.0.1 81 127.0.0.1 51782<br>
>> -   BackendStart   127.0.0.1 81<br>
>> -   Timestamp      Bereq: 1511783436.988549 0.000118 0.000118<br>
>> -   Timestamp      Beresp: 1511783437.198227 0.209795 0.209677<br>
>> -   BerespProtocol HTTP/1.1<br>
>> -   BerespStatus   404<br>
>> -   BerespReason   Not Found<br>
>> -   BerespHeader   Date: Mon, 27 Nov 2017 11:50:37 GMT<br>
>> -   BerespHeader   Content-Type: text/html; charset=UTF-8<br>
>> -   BerespHeader   Transfer-Encoding: chunked<br>
>> -   BerespHeader   Connection: keep-alive<br>
>> -   BerespHeader   Vary: Accept-Encoding<br>
>> -   TTL            RFC 86400 10 -1 1511783437 1511783437 1511783437 0 0<br>
>> -   VCL_call       BACKEND_RESPONSE<br>
>> -   TTL            VCL 300 10 0 1511783437<br>
>> -   VCL_return     deliver<br>
>> -   Storage        file disk<br>
>> -   ObjProtocol    HTTP/1.1<br>
>> -   ObjStatus      404<br>
>> -   ObjReason      Not Found<br>
>> -   ObjHeader      Date: Mon, 27 Nov 2017 11:50:37 GMT<br>
>> -   ObjHeader      Content-Type: text/html; charset=UTF-8<br>
>> -   ObjHeader      Vary: Accept-Encoding<br>
>> -   Fetch_Body     2 chunked stream<br>
>> -   BackendReuse   21 boot.backend1<br>
>> -   Timestamp      BerespBody: 1511783437.198340 0.209908 0.000113<br>
>> -   Length         16<br>
>> -   BereqAcct      569 0 569 178 16 194<br>
>> -   End<br>
>><br>
>> *   << Request  >> 2<br>
>> -   Begin          req 1 rxreq<br>
>> -   Timestamp      Start: 1511783436.988227 0.000000 0.000000<br>
>> -   Timestamp      Req: 1511783436.988227 0.000000 0.000000<br>
>> -   ReqStart       x.x.x.x 62656<br>
>> -   ReqMethod      GET<br>
>> -   ReqURL         /cache/200.php?1234<br>
>> -   ReqProtocol    HTTP/1.1<br>
>> -   ReqHeader      User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu)<br>
>> libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2<br>
>> -   ReqHeader      Accept: */*<br>
>> -   ReqHeader      Host:<a href="http://test.com" rel="noreferrer" target="_blank">test.com</a><br>
>> -   ReqHeader      Accept-Encoding: gzip,deflate<br>
>> -   VCL_call       RECV<br>
>> -   ReqUnset       Host:<a href="http://test.com" rel="noreferrer" target="_blank">test.com</a><br>
>> -   ReqHeader      host: <a href="http://test.com" rel="noreferrer" target="_blank">test.com</a><br>
>> -   ReqUnset       Accept-Encoding: gzip,deflate<br>
>> -   ReqHeader      Accept-Encoding: gzip<br>
>> -   ReqHeader      Surrogate-Capability: key=ESI/1.0<br>
>> -   ReqURL         /cache/200.php<br>
>> -   VCL_return     hash<br>
>> -   VCL_call       HASH<br>
>> -   ReqHeader      X-Cache-Key: /cache/200.php<br>
>> -   VCL_Log        redhash<br>
>> -   ReqUnset       X-Cache-Key: /cache/200.php<br>
>> -   ReqHeader      X-Cache-Key: /cache/200.php<br>
>> -   VCL_return     lookup<br>
>> -   VCL_call       MISS<br>
>> -   VCL_Log        redmiss<br>
>> -   VCL_return     fetch<br>
>> -   Link           bereq 3 fetch<br>
>> -   Timestamp      Fetch: 1511783437.198397 0.210170 0.210170<br>
>> -   RespProtocol   HTTP/1.1<br>
>> -   RespStatus     404<br>
>> -   RespReason     Not Found<br>
>> -   RespHeader     Date: Mon, 27 Nov 2017 11:50:37 GMT<br>
>> -   RespHeader     Content-Type: text/html; charset=UTF-8<br>
>> -   RespHeader     Vary: Accept-Encoding<br>
>> -   RespHeader     X-Varnish: 2<br>
>> -   RespHeader     Age: 0<br>
>> -   RespHeader     Via: 1.1 varnish-v4<br>
>> -   VCL_call       DELIVER<br>
>> -   VCL_Log        reddeliver<br>
>> -   RespUnset      X-Varnish: 2<br>
>> -   RespUnset      Via: 1.1 varnish-v4<br>
>> -   VCL_return     deliver<br>
>> -   Timestamp      Process: 1511783437.198471 0.210244 0.000074<br>
>> -   RespHeader     Content-Length: 16<br>
>> -   Debug          "RES_MODE 2"<br>
>> -   RespHeader     Connection: keep-alive<br>
>> -   Timestamp      Resp: 1511783437.198515 0.210288 0.000044<br>
>> -   ReqAcct        219 0 219 282 16 298<br>
>> -   End<br>
>><br>
>> *   << Session  >> 1<br>
>> -   Begin          sess 0 HTTP/1<br>
>> -   SessOpen       x.x.x.x 62656 <a href="http://0.0.0.0:80" rel="noreferrer" target="_blank">0.0.0.0:80</a> 172.26.12.250 80<br>
>> 1511783436.987762 20<br>
>> -   Link           req 2 rxreq<br>
>> -   SessClose      REM_CLOSE 0.217<br>
>> -   End<br>
>><br>
>><br>
>> 2017-11-27 20:21 GMT+09:00 Guillaume Quintard<br>
>> <<a href="mailto:guillaume@varnish-software.com">guillaume@varnish-software.<wbr>com</a>>:<br>
>> > Hi,<br>
>> ><br>
>> > I would expect to have two AE headers, one with aaa and one with bbb,<br>
>> > would<br>
>> > you have the varnishlog of that particular bereq?<br>
>> ><br>
>> > Also, it's probably out of scope, but are you actually changing the<br>
>> > Accept-Encoding header, or is that just for the example?<br>
>> ><br>
>> > --<br>
>> > Guillaume Quintard<br>
>> ><br>
>> > On Mon, Nov 27, 2017 at 12:15 PM, matrix <<a href="mailto:matrix@matrix2000.name">matrix@matrix2000.name</a>> wrote:<br>
>> >><br>
>> >> I would like to control bereq header below.(varnish4.1.8)<br>
>> >><br>
>> >> header.append(bereq.http.<wbr>Accept-Encoding, "aaa");<br>
>> >> header.append(bereq.http.<wbr>Accept-Encoding, "bbb");<br>
>> >><br>
>> >> But bereq.http.Accept-Encoding header is "aaa". (not "aaa,bbb")<br>
>> >> is it possible to handle the bereq using vmod_header ?<br>
>> >><br>
>> >> or is it varnish-modules bug?<br>
>> >><br>
>> >> Best regards.<br>
>> >> ______________________________<wbr>_________________<br>
>> >> varnish-misc mailing list<br>
>> >> <a href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a><br>
>> >> <a href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc" rel="noreferrer" target="_blank">https://www.varnish-cache.org/<wbr>lists/mailman/listinfo/<wbr>varnish-misc</a><br>
>> ><br>
>> ><br>
><br>
><br>
</div></div></blockquote></div><br></div>