---
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
我正在尝试在端口31255
上运行的websocket正常工作,但我得到的只是502错误。 nginx.org/location-snippets
是我在其他一切正常的服务器部署中成功使用的代码片段。
我检查了docker,一切运行正常,端口已暴露,k8s服务正在转发端口,唯一的问题是入口。我还在单个URL上尝试了2条路径,结果相同:/ api /有效,/ ws /不起作用
API端口有效,websocket无效。