This is awesome. Thanks for the code sharing.
it would be nice to have an option to ignore self-signed cert on the backend side.
httpProxy.Transport = &ConnectionErrorHandler{http.DefaultTransport}
to something like
httpProxy.Transport = &ConnectionErrorHandler{&http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}}