Fix for Issue #501: Unexpected User-agent insertion when tunneling http request

When forwarding an UA-less request to the origin server cloudflared insert the default golang http User-Agent, this is unexpected and can lead to issue.

This simple fix force setting the UA to the empty string when it isn't originaly provided.
This commit is contained in:
Benoit Plessis 2021-11-13 01:34:19 +01:00
parent e71b88fcaa
commit b88e0bc8f8
1 changed files with 5 additions and 0 deletions

View File

@ -177,6 +177,11 @@ func (p *Proxy) proxyHTTPRequest(
roundTripReq.Header.Set("Connection", "keep-alive")
}
// Set the User-Agent as an empty string if not provided to avoid inserting golang default UA
if roundTripReq.Header.Get("User-Agent") == "" {
roundTripReq.Header.Set("User-Agent", "")
}
resp, err := httpService.RoundTrip(roundTripReq)
if err != nil {
return errors.Wrap(err, "Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared")