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 回答
目前不支持Websockets,我们正在努力添加它,我会在可用时更新 .
谢谢
编辑:Websocket支持在所有地区都可用,其注释为: