<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>