前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决jumpserver web界面提示连接websocket失败

解决jumpserver web界面提示连接websocket失败

原创
作者头像
dgds
发布2023-06-14 17:40:25
2.7K0
发布2023-06-14 17:40:25
举报
文章被收录于专栏:dgds的运维dgds的运维

记录一个问题,k8s搭建的jumpserver web界面会提示连接websocket失败,导致连接不上资产

解决

本身用的是ingress做的负载,直接上配制

代码语言:txt
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: jumpserver
  name: jump-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: "4096m"       #这个要加,上传文件大小,不然文件都无法上传
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"     #这是解决websocket附带的方法
    nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"   #这是解决websocket附带的方法
    nginx.ingress.kubernetes.io/server-snippets: |                    #加上底下这些
      location / {
        proxy_set_header Upgrade "websocket";                       #最重要
        proxy_http_version 1.1;                 #最重要
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header Connection "Upgrade";                      #最重要
        proxy_cache_bypass $http_upgrade;
        }
spec:
        #  ingressClassName: nginx
  rules:
  - host: jump-inf.skiffenergy.com
    http:
      paths:
      - pathType: Prefix
        path: /
        backend:
          service:
            name: jms-k8s-jumpserver-jms-web
            port:
              number: 80

除了这里要加这些配制外,你的每一层代理都要添加以下参数

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "Upgrade";

包括你443转80或80转443,都要写入这些配制

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解决
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档