Use of http.DefaultTransport can cause the proxy and clients to hang indefinitely
The http.DefaultTransport leaves ResponseHeaderTimeout
unset by default. This means that the proxy and client that use this transport will hang indefinitely if they don't receive a response from the broker. This happens rarely in practice, but we've seen it before with #29861 (closed). A better thing to do is set a long time out and log an error message if contacting the broker failed.
The timeout for clients should be at least as long as the broker's ClientTimeout and likewise the proxies should time out after the broker's ProxyTimeout would be triggered.