首页 文章

如何在IBM Bluemix上的Kubernetes中为入口资源添加websocket支持?

提问于
浏览
6

When the client tries to connect our ingress defined endpoint via a wss:// request, the app returns 400 bad request, which according to socket.io docs is due to missing headers removed by load balancing proxies like nginx.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    nginx.org/websocket-services: service-name
spec:
  tls:
    - hosts:
        - www.myhost.com
  rules:
    - host: www.myhost.com
      http:
        paths:
          - path: /
            backend:
              serviceName: service-name
              servicePort: 80

从IBM提供的入口控制器中的日志来看,它似乎是这个nginx ingress controller的一个分支 . 其中说注释 nginx.org/websocket-services 通过向生成的nginx conf添加指令来添加对websockets的支持,以传递所需的头 . 我们按照上面的方法尝试了这一点,但无济于事 .

有没有人有任何成功使这个注释工作?添加到生成的nginx conf的任何变通方法?

任何IBM人都知道是否有意从fork中删除了这个功能?如果有任何方法可以在IBM版本的Kubernetes中添加对websockets的支持?

1 回答

  • 5

    目前不支持Websockets,我们正在努力添加它,我会在可用时更新 .

    谢谢

    编辑:Websocket支持在所有地区都可用,其注释为:

    annotations:
        ingress.bluemix.net/websocket-services: service-name
    

相关问题