They are not the ELB IP addresses.
Are you sure?
Each node in an ELB -- usually there are two or three nodes in a low traffic environment -- has two IP addresses, a public address and a private address.
Find the IP addresses in question in the EC2 console, under Network & Security > Network Interfaces. You should find the "Attachment owner" set to amazon-elb
and "Description" set to the name of the balancer.
If it's really not your ELB, then this should tell you what it is.
If it is your ELB, then these are almost certainly "spare" connections that the ELB is trying to hold open to your instance for performance reasons -- to avoid the wait to set up a new connection when the next client request arrives.
Your varnish setup is closing them rather quickly, so ELB tries again.
You should be able to increase the req_timeout
to something larger than the ELB's idle timeout (default 60s) and this should result in you seeing a lot fewer of these.
This advice would be different if Varnish (or any other web server) were directly exposed to the Internet, because you won't want random browsers tying up resources... but in the case of ELB in HTTP/S (not TCP) mode, ELB takes care of managing idle persistent connections from browsers without each one consuming a connection to your instance, and there is no 1:1 correlation between connections on the front side and back side of the ELB.