[Varnish] #1276: varnishncsa does not use the modified URL from within varnish VCL
Varnish
varnish-bugs at varnish-cache.org
Wed Mar 6 19:48:49 CET 2013
#1276: varnishncsa does not use the modified URL from within varnish VCL
-------------------------+-------------------------
Reporter: raymondjiii | Type: defect
Status: new | Priority: normal
Milestone: | Component: varnishncsa
Version: trunk | Severity: normal
Keywords: varnishncsa |
-------------------------+-------------------------
I modify the URL within my VCL using inline C code with something like:
C{
if (strlen(VRT_r_req_url(sp)) < 1000) {
syslog(LOG_ERR, "%s", VRT_r_req_url(sp));
char url[1024] = "";
strcpy(url, VRT_r_req_url(sp));
(*URLRemoveTime_fn)(url);
syslog(LOG_ERR, "%s", "Modified URL:");
syslog(LOG_ERR, "%s", url);
VRT_l_req_url(sp, url, vrt_magic_string_end);
}
else {
syslog(LOG_ERR, "%s", "VARNISH URL TOO LONG");
syslog(LOG_ERR, "%s", VRT_r_req_url(sp));
}
}C
The above is within the "sub vcl receive" subroutine.
I have done a number of tests showing that the modified URL does get
cached within Varnish and is hashed against the modified URL. I add
X-Cache (Hit/Miss) and X-Cache-Hits HTTP headers to show that my modified
URL is in fact being returned from Varnish and not the backend Apache
server.
Varnishncsa always shows the original URL and not my modified version of
the URL. My backend apache server log DOES show the modified URL.
I would like varnishncsa to show the data with the modified URL and not
the original URL request.
I can provide any additional information needed.
--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1276>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list