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