varnish 503 service unavailable

21,616

varnish 503 can be fixed by steps below:

  1. Increase the connect_timeout,.first_byte_timeout and .between_bytes_timeout in you backend setting:

    backend default {
      .host = "www.example.com";
      .connect_timeout = 5s;
      .first_byte_timeout = 10s;
      .between_bytes_timeout = 10s;
    }
    
  2. Increase the parameter to 8192 when start varnish.

    varnishd [options] http_resp_hdr_len=8192
    
  3. Checkout you network or backend server.

    If Step 1 and Step 2 can not help you, please check you network connection and banckend server's availability.

Share:
21,616
lichengwu
Author by

lichengwu

coding @ taobao.com about me http://blog.lichengwu.cn

Updated on September 04, 2020

Comments

  • lichengwu
    lichengwu almost 4 years

    My varnish version is 3.0.

    My server works well while I curl the URLs, but when use varnish cache it return 503 service unavailable occasionally.

    The log info likes is:

    0 Debug        - "VCL_error(200, OK)"
    24 VCL_call     c recv error
    24 VCL_call     c error deliver
    24 SessionClose c error
    0 Debug        - "VCL_error(200, OK)"
    27 VCL_call     c recv error
    27 VCL_call     c error deliver
    27 SessionClose c error
    0 Debug        - "VCL_error(200, OK)"
    16 VCL_call     c recv error
    16 VCL_call     c error deliver
    16 SessionClose c error
    14 Debug        - "Write error, retval = 2998272, len = 8465870, errno = Success"
    0 Debug        - "VCL_error(200, OK)"
    14 VCL_call     c recv error
    14 VCL_call     c error deliver
    14 SessionClose c error
    0 Debug        - "VCL_error(200, OK)"
    21 VCL_call     c recv error
    21 VCL_call     c error deliver
    21 SessionClose c error
    

    PS:The server response 200 when I curl or type the urls on browsers.

  • klapvee
    klapvee over 9 years
    Maybe this will help others too: i had a similar problem with curl and varnish. Also got the annoying 503 with curl requests while the rest responded normally. My fix: removed the "Content-Length" header (as i had it just to be complete)
  • Mike Q
    Mike Q over 7 years
    From my reading varnish-cache.org/docs/3.0/reference/varnishd.html 32bit systems should be accounted for with regard to #2 option above. Also, the default value seems to be 8192 ?
  • Mike Q
    Mike Q over 7 years
    @barthoda most likely the first_byte_timeout if I were to guess.