参考
http://nginx.org/en/docs/http/websocket.html
https://blog.csdn.net/weixin_39669147/article/details/111282088
nginx配置
nginx.conf
http {
...
map $http_upgrade $connection_upgrade {
default 'upgrade';
'' 'close';
}
...
}
nginx子配置文件 xxx.conf
upstream bankend{
server x.x.x.x:80;
server x.x.x.x:80;
}
server {
listen 80;
server_name xxx.com;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name xxx.com;
ssl_certificate xxx.cer;
ssl_certificate_key xxx.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $host;
proxy_pass http://bankend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
nginx ingress配置
xxx_ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: xxx
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/proxy-http-version: "1.1"
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
namespace: sit
spec:
rules:
- host: xxx.com
http:
paths:
- path:
backend:
serviceName: service-api
servicePort: 80