ESI from remote host not working?
Andreas Loewen Internetservices
kontakt at andreas-loewen.de
Tue Apr 26 13:54:30 CEST 2016
Dear all,
i am using current varnish varnish 4. I have the following config:
backend esi{
.host = "x.x.x.x";
.port = "8081";
}
...
sub vcl_recv {
set req.http.host = "xxx.yyy.de";
...
if (req.url ~ "^/typo3/.*" || req.url ~ "^/secure/.*") {
set req.backend_hint = typo3be;
return (synth(403, "Forbidden"));
} else if (req.url ~ "\.mesi\?" || req.url ~ "\.htm(\?.*)?$" ||
req.url ~ "^/javax\.faces\..*" || req.url ~ "^/templates/.*" || req.url
~"^/f/.*" || req.url ~"^/i/.*") {
set req.backend_hint = esi;
set req.hash_always_miss = true;
} else {
set req.backend_hint = typo3;
unset req.http.cookie;
}
...
}
sub vcl_backend_response {
set beresp.do_esi = true;
...
}
The esi backend is on a remote host, but it is reachable from this server.
The funny thing is, that I keep getting 404's for my esi requests for
/fe_terminliste.mesi?pakid=1 . But they are comming from the default
backend (local Apache on port 81). varnishlog reads like:
* << BeReq >> 5
- Begin bereq 4 pass
- Timestamp Start: 1461670355.552619 0.000000 0.000000
- BereqMethod GET
- BereqURL /fe_terminliste.mesi?pakid=1
- BereqProtocol HTTP/1.1
- BereqHeader Cache-Control: max-age=0
- BereqHeader Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
- BereqHeader Upgrade-Insecure-Requests: 1
- BereqHeader User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
- BereqHeader DNT: 1
- BereqHeader Accept-Encoding: gzip, deflate
- BereqHeader Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
- BereqHeader Cookie: PHPSESSID=h7hk5n8pa95q4sd2m46ebbju14;
Typo3InstallTool=tgikum56sujjsv1cu6ra236kb0;
be_typo_user=5ad26762d12ad4b9fe2d321979fb75e4
- BereqHeader Host: xxx:8081
- BereqHeader X-Forwarded-For: 80.171.39.71
- BereqHeader X-Varnish: 5
- VCL_call BACKEND_FETCH
- VCL_return fetch
- BackendOpen 20 default(127.0.0.1,,81) 127.0.0.1 33017
- Backend 20 default default(127.0.0.1,,81)
- Timestamp Bereq: 1461670355.552877 0.000257 0.000257
- Timestamp Beresp: 1461670355.553530 0.000911 0.000654
- BerespProtocol HTTP/1.1
- BerespStatus 404
- BerespReason Not Found
- BerespHeader Date: Tue, 26 Apr 2016 11:32:35 GMT
- BerespHeader Server: Apache/2.2.15 (CentOS)
- BerespHeader Content-Length: 310
- BerespHeader Connection: close
- BerespHeader Content-Type: text/html; charset=iso-8859-1
- TTL RFC 120 -1 -1 1461670356 1461670356 1461670355 0 0
- VCL_call BACKEND_RESPONSE
- TTL VCL 120 10 0 1461670356
- VCL_return deliver
- BerespHeader Content-Encoding: gzip
- BerespUnset Content-Length: 310
- Storage malloc Transient
- ObjProtocol HTTP/1.1
- ObjStatus 404
- ObjReason Not Found
- ObjHeader Date: Tue, 26 Apr 2016 11:32:35 GMT
- ObjHeader Server: Apache/2.2.15 (CentOS)
- ObjHeader Content-Type: text/html; charset=iso-8859-1
- ObjHeader Content-Encoding: gzip
- Fetch_Body 3 length -
- Gzip G F E 310 268 80 2064 2074
- Timestamp BerespBody: 1461670355.554030 0.001411 0.000500
- BackendClose 20 default(127.0.0.1,,81)
- Length 268
- BereqAcct 623 0 623 180 310 490
- End
So, does varnish restrict esi to localhost for some reason? Or what is
wrong?
More information about the varnish-misc
mailing list