|
|
@@ -40,6 +40,9 @@ func InitHttpClient() {
|
|
|
ForceAttemptHTTP2: true,
|
|
|
Proxy: http.ProxyFromEnvironment, // Support HTTP_PROXY, HTTPS_PROXY, NO_PROXY env vars
|
|
|
}
|
|
|
+ if common.TLSInsecureSkipVerify {
|
|
|
+ transport.TLSClientConfig = common.InsecureTLSConfig
|
|
|
+ }
|
|
|
|
|
|
if common.RelayTimeout == 0 {
|
|
|
httpClient = &http.Client{
|
|
|
@@ -102,13 +105,17 @@ func NewProxyHttpClient(proxyURL string) (*http.Client, error) {
|
|
|
|
|
|
switch parsedURL.Scheme {
|
|
|
case "http", "https":
|
|
|
+ transport := &http.Transport{
|
|
|
+ MaxIdleConns: common.RelayMaxIdleConns,
|
|
|
+ MaxIdleConnsPerHost: common.RelayMaxIdleConnsPerHost,
|
|
|
+ ForceAttemptHTTP2: true,
|
|
|
+ Proxy: http.ProxyURL(parsedURL),
|
|
|
+ }
|
|
|
+ if common.TLSInsecureSkipVerify {
|
|
|
+ transport.TLSClientConfig = common.InsecureTLSConfig
|
|
|
+ }
|
|
|
client := &http.Client{
|
|
|
- Transport: &http.Transport{
|
|
|
- MaxIdleConns: common.RelayMaxIdleConns,
|
|
|
- MaxIdleConnsPerHost: common.RelayMaxIdleConnsPerHost,
|
|
|
- ForceAttemptHTTP2: true,
|
|
|
- Proxy: http.ProxyURL(parsedURL),
|
|
|
- },
|
|
|
+ Transport: transport,
|
|
|
CheckRedirect: checkRedirect,
|
|
|
}
|
|
|
client.Timeout = time.Duration(common.RelayTimeout) * time.Second
|
|
|
@@ -137,17 +144,19 @@ func NewProxyHttpClient(proxyURL string) (*http.Client, error) {
|
|
|
return nil, err
|
|
|
}
|
|
|
|
|
|
- client := &http.Client{
|
|
|
- Transport: &http.Transport{
|
|
|
- MaxIdleConns: common.RelayMaxIdleConns,
|
|
|
- MaxIdleConnsPerHost: common.RelayMaxIdleConnsPerHost,
|
|
|
- ForceAttemptHTTP2: true,
|
|
|
- DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
|
|
|
- return dialer.Dial(network, addr)
|
|
|
- },
|
|
|
+ transport := &http.Transport{
|
|
|
+ MaxIdleConns: common.RelayMaxIdleConns,
|
|
|
+ MaxIdleConnsPerHost: common.RelayMaxIdleConnsPerHost,
|
|
|
+ ForceAttemptHTTP2: true,
|
|
|
+ DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
|
|
|
+ return dialer.Dial(network, addr)
|
|
|
},
|
|
|
- CheckRedirect: checkRedirect,
|
|
|
}
|
|
|
+ if common.TLSInsecureSkipVerify {
|
|
|
+ transport.TLSClientConfig = common.InsecureTLSConfig
|
|
|
+ }
|
|
|
+
|
|
|
+ client := &http.Client{Transport: transport, CheckRedirect: checkRedirect}
|
|
|
client.Timeout = time.Duration(common.RelayTimeout) * time.Second
|
|
|
proxyClientLock.Lock()
|
|
|
proxyClients[proxyURL] = client
|