Skip to content

Commit c83a0a5

Browse files
committed
remove_http1.1_support_code
Signed-off-by: yuswift <yuswiftli@yunify.com>
1 parent 38eaa5c commit c83a0a5

File tree

2 files changed

+10
-56
lines changed

2 files changed

+10
-56
lines changed

pkg/apiserver/dispatch/dispatch.go

+6-28
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,25 @@ package dispatch
1818

1919
import (
2020
"fmt"
21+
"net/http"
22+
"net/url"
23+
"strings"
24+
"sync"
25+
2126
corev1 "k8s.io/api/core/v1"
2227
"k8s.io/apimachinery/pkg/api/errors"
2328
"k8s.io/apimachinery/pkg/util/httpstream"
24-
"k8s.io/apimachinery/pkg/util/net"
2529
"k8s.io/apimachinery/pkg/util/proxy"
2630
"k8s.io/apiserver/pkg/endpoints/handlers/responsewriters"
2731
"k8s.io/client-go/rest"
2832
"k8s.io/client-go/tools/cache"
2933
"k8s.io/client-go/tools/clientcmd"
3034
"k8s.io/klog"
35+
3136
clusterv1alpha1 "kubesphere.io/kubesphere/pkg/apis/cluster/v1alpha1"
3237
"kubesphere.io/kubesphere/pkg/apiserver/request"
3338
clusterinformer "kubesphere.io/kubesphere/pkg/client/informers/externalversions/cluster/v1alpha1"
3439
clusterlister "kubesphere.io/kubesphere/pkg/client/listers/cluster/v1alpha1"
35-
"net/http"
36-
"net/url"
37-
"strings"
38-
"sync"
3940
)
4041

4142
const proxyURLFormat = "/api/v1/namespaces/kubesphere-system/services/:ks-apiserver:/proxy%s"
@@ -198,21 +199,6 @@ func (c *clusterDispatch) getInnerCluster(name string) *innerCluster {
198199
return nil
199200
}
200201

201-
// copy from https://github.com/kubernetes/apimachinery/blob/master/pkg/util/proxy/dial.go
202-
func supportsHTTP11(nextProtos []string) bool {
203-
if len(nextProtos) == 0 {
204-
return true
205-
}
206-
207-
for _, proto := range nextProtos {
208-
if proto == "http/1.1" {
209-
return true
210-
}
211-
}
212-
213-
return false
214-
}
215-
216202
func (c *clusterDispatch) updateInnerClusters(obj interface{}) {
217203
cluster := obj.(*clusterv1alpha1.Cluster)
218204

@@ -247,14 +233,6 @@ func (c *clusterDispatch) updateInnerClusters(obj interface{}) {
247233
return
248234
}
249235

250-
tlsConfig, err := net.TLSClientConfig(transport)
251-
if err == nil {
252-
// since http2 doesn't support websocket, we need to disable http2 when using websocket
253-
if supportsHTTP11(tlsConfig.NextProtos) {
254-
tlsConfig.NextProtos = []string{"http/1.1"}
255-
}
256-
}
257-
258236
c.mutex.Lock()
259237
c.innerClusters[cluster.Name] = &innerCluster{
260238
kubernetesURL: kubernetesEndpoint,

pkg/apiserver/filters/kubeapiserver.go

+4-28
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,16 @@ limitations under the License.
1717
package filters
1818

1919
import (
20-
"k8s.io/apimachinery/pkg/util/net"
20+
"net/http"
21+
"net/url"
22+
2123
"k8s.io/apimachinery/pkg/util/proxy"
2224
"k8s.io/apiserver/pkg/endpoints/handlers/responsewriters"
2325
"k8s.io/client-go/rest"
2426
"k8s.io/klog"
27+
2528
"kubesphere.io/kubesphere/pkg/apiserver/request"
2629
"kubesphere.io/kubesphere/pkg/server/errors"
27-
"net/http"
28-
"net/url"
2930
)
3031

3132
// WithKubeAPIServer proxy request to kubernetes service if requests path starts with /api
@@ -37,16 +38,6 @@ func WithKubeAPIServer(handler http.Handler, config *rest.Config, failed proxy.E
3738
return handler
3839
}
3940

40-
tlsConfig, err := net.TLSClientConfig(defaultTransport)
41-
if err != nil {
42-
klog.V(5).Infof("Unable to unwrap transport %T to get at TLS config: %v", defaultTransport, err)
43-
}
44-
45-
// since http2 doesn't support websocket, we need to disable http2 when using websocket
46-
if supportsHTTP11(tlsConfig.NextProtos) {
47-
tlsConfig.NextProtos = []string{"http/1.1"}
48-
}
49-
5041
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
5142
info, ok := request.RequestInfoFrom(req.Context())
5243
if !ok {
@@ -71,18 +62,3 @@ func WithKubeAPIServer(handler http.Handler, config *rest.Config, failed proxy.E
7162
handler.ServeHTTP(w, req)
7263
})
7364
}
74-
75-
// copy from https://github.com/kubernetes/apimachinery/blob/master/pkg/util/proxy/dial.go
76-
func supportsHTTP11(nextProtos []string) bool {
77-
if len(nextProtos) == 0 {
78-
return true
79-
}
80-
81-
for _, proto := range nextProtos {
82-
if proto == "http/1.1" {
83-
return true
84-
}
85-
}
86-
87-
return false
88-
}

0 commit comments

Comments
 (0)