Varnish backend request sent to itself?
Martynas Jusevičius
martynas at atomgraph.com
Wed Mar 18 10:36:55 UTC 2020
Hi,
I'm using varnish-5.2.1 revision 67e562482 as a Docker image and
trying to restore the setup that was working some time ago.
However I'm getting 503 Backend fetch failed.
The VCL file clearly specifies the backend:
backend default {
.host = "atomgraph.some_host.com";
.port = "80";
.first_byte_timeout = 60s;
}
Varnish itself runs on atomgraph.some_host.varnish, as specified in
docker-compose.yml.
When I login into the container, I see the client request:
- ReqMethod GET
- ReqURL /smth/smth/...
- ReqProtocol HTTP/1.1
- ReqHeader Accept:
application/rdf+xml,text/rdf+n3,application/n-triples,text/csv,application/rdf+xml,application/rdf+thrift,text/turtle,application/rdf+json
- ReqHeader Cache-Control: no-cache
- ReqHeader Authorization: Basic bGlua2VkZGF0YWh1YjpqYThhc3BhdHV0YWtFdGhV
- ReqHeader Host: atomgraph.dydra.varnish
- ReqHeader Connection: Keep-Alive
- ReqHeader User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
- ReqHeader X-Forwarded-For: 172.30.0.3
However when I look at the backend request:
- BereqMethod GET
- BereqURL /smth/smth/...
- BereqProtocol HTTP/1.1
- BereqHeader Accept:
application/rdf+xml,text/rdf+n3,application/n-triples,text/csv,application/rdf+xml,application/rdf+thrift,text/turtle,application/rdf+json
- BereqHeader Authorization: Basic bGlua2VkZGF0YWh1YjpqYThhc3BhdHV0YWtFdGhV
- BereqHeader Host: atomgraph.dydra.varnish
- BereqHeader User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
- BereqHeader X-Forwarded-For: 172.30.0.3
- BereqHeader X-Varnish: 32783
it looks like it is calling itself (i.e. the local fake .varnish
backend host instead of the real .com one), judging from the
BereqHeader Host.
If that is the case, then no wonder that the backend request fails:
- BerespProtocol HTTP/1.1
- BerespStatus 503
- BerespReason Service Unavailable
- BerespReason Backend fetch failed
How can this be?
Martynas
More information about the varnish-misc
mailing list