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