TUN-3896: http-service and tunnelstore client use http2 transport.
- If origin services are http2 and https is the service url, http2 transport is preferred. - The tunnelstore client is now upgraded to use http2.
This commit is contained in:
		
							parent
							
								
									66da530ba3
								
							
						
					
					
						commit
						1cf6ae37eb
					
				
							
								
								
									
										19
									
								
								CHANGES.md
								
								
								
								
							
							
						
						
									
										19
									
								
								CHANGES.md
								
								
								
								
							|  | @ -1,5 +1,24 @@ | |||
| **Experimental**: This is a new format for release notes. The format and availability is subject to change. | ||||
| 
 | ||||
| ## UNRELEASED | ||||
| 
 | ||||
| ### Backward Incompatible Changes | ||||
| 
 | ||||
| - none | ||||
| 
 | ||||
| ### New Features | ||||
| 
 | ||||
|  - HTTP/2 transport is now always chosen if origin server supports it and the service url scheme is HTTPS. | ||||
|    This was previously done in a best attempt manner. | ||||
| 
 | ||||
| ### Improvements | ||||
| 
 | ||||
| - none | ||||
| 
 | ||||
| ### Bug Fixes | ||||
| 
 | ||||
|  - none | ||||
| 
 | ||||
| ## 2021.3.3 | ||||
| 
 | ||||
| ### Improvements | ||||
|  |  | |||
|  | @ -15,6 +15,8 @@ import ( | |||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/rs/zerolog" | ||||
| 
 | ||||
| 	"golang.org/x/net/http2" | ||||
| 
 | ||||
| 	"github.com/cloudflare/cloudflared/hello" | ||||
| 	"github.com/cloudflare/cloudflared/ipaccess" | ||||
| 	"github.com/cloudflare/cloudflared/socks" | ||||
|  | @ -287,6 +289,7 @@ func newHTTPTransport(service originService, cfg OriginRequestConfig, log *zerol | |||
| 		httpTransport.DialContext = dialContext | ||||
| 	} | ||||
| 
 | ||||
| 	http2.ConfigureTransport(&httpTransport) | ||||
| 	return &httpTransport, nil | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -16,6 +16,8 @@ import ( | |||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/rs/zerolog" | ||||
| 
 | ||||
| 	"golang.org/x/net/http2" | ||||
| 
 | ||||
| 	"github.com/cloudflare/cloudflared/teamnet" | ||||
| ) | ||||
| 
 | ||||
|  | @ -247,6 +249,11 @@ func NewRESTClient(baseURL, accountTag, zoneTag, authToken, userAgent string, lo | |||
| 	if err != nil { | ||||
| 		return nil, errors.Wrap(err, "failed to create account level endpoint") | ||||
| 	} | ||||
| 	httpTransport := http.Transport{ | ||||
| 		TLSHandshakeTimeout:   defaultTimeout, | ||||
| 		ResponseHeaderTimeout: defaultTimeout, | ||||
| 	} | ||||
| 	http2.ConfigureTransport(&httpTransport) | ||||
| 	return &RESTClient{ | ||||
| 		baseEndpoints: &baseEndpoints{ | ||||
| 			accountLevel:  *accountLevelEndpoint, | ||||
|  | @ -256,11 +263,8 @@ func NewRESTClient(baseURL, accountTag, zoneTag, authToken, userAgent string, lo | |||
| 		authToken: authToken, | ||||
| 		userAgent: userAgent, | ||||
| 		client: http.Client{ | ||||
| 			Transport: &http.Transport{ | ||||
| 				TLSHandshakeTimeout:   defaultTimeout, | ||||
| 				ResponseHeaderTimeout: defaultTimeout, | ||||
| 			}, | ||||
| 			Timeout: defaultTimeout, | ||||
| 			Transport: &httpTransport, | ||||
| 			Timeout:   defaultTimeout, | ||||
| 		}, | ||||
| 		log: log, | ||||
| 	}, nil | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue