WebSocket连接失败-Kubernetes上的JHipster

WebSocket连接失败-Kubernetes上的JHipster,jhipster,microk8s,Jhipster,Microk8s,我在Kubernetes[microk8s]上运行JHipster应用程序,在远程主机上运行入口 默认情况下,入口设置为https 在浏览器控制台中,我得到: WebSocket连接到'wss://XXXXXX/websocket/tracker/041/tjk33h4t/websocket?access_token=XXXXXXXXXXXXXXXX'失败:WebSocket握手期间出错:意外响应代码:403 接 拒绝显示'https://XXXXX/websocket/tracker/ifra

我在Kubernetes[microk8s]上运行JHipster应用程序,在远程主机上运行入口

默认情况下,入口设置为https

在浏览器控制台中,我得到:

WebSocket连接到'wss://XXXXXX/websocket/tracker/041/tjk33h4t/websocket?access_token=XXXXXXXXXXXXXXXX'失败:WebSocket握手期间出错:意外响应代码:403

拒绝显示'https://XXXXX/websocket/tracker/iframe.html?access_token=XXXXXXXXXX,因为它将“X-frame-Options”设置为“deny”

在application-prod.yml中,我有:

  port: 8080
  compression:
    enabled: true
    mime-types: text/html,text/xml,text/plain,text/css, application/javascript, application/json
    min-response-size: 1024
当我键入http[not https]url,后跟kubernetes服务设置的端口时,工作正常

在microk8s入口中

  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
反正也不管用


如何从https前端开始使用websocket?

您可以尝试为websocket服务添加注释

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    certmanager.k8s.io/cluster-issuer: tls-issuer
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: 50m
    nginx.ingress.kubernetes.io/proxy-read-timeout: "1800"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/websocket-services: SERVICE_NAME
    nginx.org/websocket-services: SERVICE_NAME