kubernetes - kuberentes nginx入口websocket 502错误
问题描述
---
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: xxx
namespace: bob
annotations:
rancher.io/globalDNS.hostname: api-v2-xxx
nginx.ingress.kubernetes.io/proxy-read-timeout: 3600
nginx.ingress.kubernetes.io/proxy-send-timeout: 3600
nginx.org/location-snippets: |
proxy_set_header HOST $host;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_request_headers on;
proxy_http_version 1.0;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
spec:
rules:
- host: api-v2-xxx.microsoft.com
http:
paths:
- path: /
backend:
serviceName: xxx
servicePort: xxx-api-port
- path: /ws/
backend:
serviceName: xxx
servicePort: xxx-ws-port
---
kind: Service
apiVersion: v1
metadata:
name: xxx
namespace: bob
spec:
selector:
com.microsoft/application.name: xxx
ports:
- name: xxx-api-port
protocol: TCP
port: 80
targetPort: 3010
- name: xxx-ws-port
protocol: TCP
port: 81
targetPort: 31255
我试图让在端口上运行的 websocket31255
工作,但我得到的只是 502 错误。这nginx.org/location-snippets
是我在其他一切正常的服务器部署中成功使用的片段。
我检查了 docker,一切正常,端口暴露,k8s 服务正在转发端口,唯一的问题是入口。我还在单个 URL 上尝试了 2 个路径,结果相同:/api/ 有效,/ws/ 无效
API 端口有效,websocket 无效。
解决方案
推荐阅读
- sympy - 用其他类型替换 SymPy 符号 (Z3Py)
- python - 不工作:Spark 环境变量的编辑
- json - 通过 Google 脚本解析嵌套的 JSON
- azure-functions - Aggregates with Event Sourcing and CQRS
- javascript - Why Java script object is different than it's individual property?
- kubernetes - jupyterlab 的大使配置
- prolog - 如何更改正确单词的错误拼写?
- python - 如何解决 - ValueError:在 Python 中解包的值太多
- python - 使用参数(对象数组)从 python2 脚本调用 python3 方法并接收输出
- sql - 加入3表jdbc