VARNISH 3.0.7: There are various reasons for this. I am currently browsing this on one of my servers and discover that I have several issues. In my case, the "first read error" is due to a failure with slow pages (when receiving images). The way I found this was to use the varnishlog command.
https://www.varnish-cache.org/docs/3.0/tutorial/troubleshooting.html
varnishlog -d -c -m TxStatus:503 24 SessionOpen c 127.0.0.1 39370 :6081 24 ReqStart c 127.0.0.1 39370 657793361 24 RxRequest c GET 24 RxURL c /inventory/part/MYPAGE.HTML 24 RxProtocol c HTTP/1.1 24 RxHeader c User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 24 RxHeader c Referer: https://MYWEBSITE.com/inventory/new?limit=100 24 RxHeader c Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */* 24 RxHeader c Accept-Encoding: gzip, deflate 24 RxHeader c Accept-Language: en-US 24 RxHeader c Pragma: no-cache 24 RxHeader c Host: MYWEBSITE.com 24 RxHeader c Cookie: PHPSESSID=crp0881ji0qgfdqgtde10ovh72; laravel_session=eyJpdiI6ImIrRVVGRFBWdHErdk85cU9oQThqemc9PSIsInZhbHVlIjoid0g2Zk56elVybUdlVkVQb0dCdzlVVVBhMWVmVlwvZnRPOFlEOVwvQjRWOW5ITUVyNUFCMGZyRUI5aDlGSVBoWWpsR0Z3NGxZK2NjQ2Z6Q01Lam5IWVdcL3c9PSIsIm1hYyI6ImZlZ .... .... ....
It seems to me that on MYSITE.com it was not possible to get the URI above. In this case, this is expected, as there is a problem with the page.
Varnish has some meanings to help mitigate this and other problems. The following to pay attention to this:
.connect_timeout = 1s;
If you see a βfirst byte errorβ in the log, you can solve it with setting first_byte_timeout (in many cases this works). Not in my case, but in the case above. What I'm going to experiment with is the timeout of the response from the connect_timeout backend. If you receive unhealthy messages, you will need to edit the .probe parameters in the varnish configuration file. Another simple problem is that the ports are not configured correctly or the profile file on / httpcheck or something is actually inaccessible (make sure that you can contact it using curl).
PS> I answer this topic because I noticed that the answer is not enough, I hope that my investigation helps someone at least a little.
More details here: https://varnish-cache.org/tips/varnishlog/fetcherror.html