From a97048b08de11626473b672e39424e2212f88a32 Mon Sep 17 00:00:00 2001 From: yuswift Date: Fri, 22 Jan 2021 15:30:02 +0800 Subject: [PATCH] fix proxy upgrade error when using kubeconfig with token Signed-off-by: yuswift --- pkg/apiserver/dispatch/dispatch.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/apiserver/dispatch/dispatch.go b/pkg/apiserver/dispatch/dispatch.go index ae7cdf59e..0ebd8d532 100644 --- a/pkg/apiserver/dispatch/dispatch.go +++ b/pkg/apiserver/dispatch/dispatch.go @@ -18,6 +18,11 @@ package dispatch import ( "fmt" + "net/http" + "net/url" + "strings" + "sync" + corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/util/httpstream" @@ -28,14 +33,11 @@ import ( "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/clientcmd" "k8s.io/klog" + clusterv1alpha1 "kubesphere.io/kubesphere/pkg/apis/cluster/v1alpha1" "kubesphere.io/kubesphere/pkg/apiserver/request" clusterinformer "kubesphere.io/kubesphere/pkg/client/informers/externalversions/cluster/v1alpha1" clusterlister "kubesphere.io/kubesphere/pkg/client/listers/cluster/v1alpha1" - "net/http" - "net/url" - "strings" - "sync" ) const proxyURLFormat = "/api/v1/namespaces/kubesphere-system/services/:ks-apiserver:/proxy%s" @@ -182,6 +184,7 @@ func (c *clusterDispatch) Dispatch(w http.ResponseWriter, req *http.Request, han } httpProxy := proxy.NewUpgradeAwareHandler(&u, transport, false, false, c) + httpProxy.UpgradeTransport = proxy.NewUpgradeRequestRoundTripper(transport, transport) httpProxy.ServeHTTP(w, req) }