It doesn't seem to work. Take the example of HTTP 404 from backend, it actually goes to vcl_backend_response, not vcl_backend_error.
And unfortunately I am not allowed to use synthetic() in vcl_backend_response. Inside vcl_backend_response I also thought of passing a custom header beresp.http.X-CustomError = "YES" to vcl_deliver, but it's the same result that I am not allowed to use synthetic() in vcl_deliver. On Thu, Oct 9, 2014 at 11:45 PM, Per Buer <[email protected]> wrote: > > > On Thu, Oct 9, 2014 at 4:58 PM, Kelvin Loke <[email protected]> > wrote: > >> I used to be able to do it in Varnish 3, but it's no longer an easy task >> in Varnish 4 (or my weary mind stops me from figuring out). >> >> How can I customized the error page (403, 404, 500, etc) from backend and >> send to end users? I prefer not to let the public to view my application >> error content. >> > >> In Varnish 3 I am able to return the error() and specify the customized >> error message in vcl_error. However in Varnish 4 I can't find any way to >> return the synth() in vcl_backend_response and vcl_backend_error and >> specify the custom message in vcl_synth(). >> > > Have a look at "builtin.vcl" in the distribution. You'll find: > > # sub vcl_backend_error { > # set beresp.http.Content-Type = "text/html; charset=utf-8"; > # set beresp.http.Retry-After = "5"; > # synthetic( {"<!DOCTYPE html> > # <html> > # <head> > > > You should be able to override it. > > -- > *Per Buer* > CTO | Varnish Software AS > Cell: +47 95839117 > We Make Websites Fly! > www.varnish-software.com > [image: Register now] > <http://info.varnish-software.com/varnish-summits-autumn-2014-registration> >
_______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
