加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

在Kubernetes上使用Nginx SSL代理运行Meteor应用程序

发布时间:2020-12-13 21:04:50 所属栏目:Nginx 来源:网络整理
导读:我在Google Cloud上使用Kubernetes部署了一个Meteor应用程序,配置了Nginx作为SSL终止.一切正常. 但是,似乎如果两个不同的客户端连接到两个不同的SSL容器,则更新不会在相应的应用程序上显示最多10秒,这使得Websockets看起来不起作用,但轮询正在生效.我已确认

我在Google Cloud上使用Kubernetes部署了一个Meteor应用程序,配置了Nginx作为SSL终止.一切正常.

但是,似乎如果两个不同的客户端连接到两个不同的SSL容器,则更新不会在相应的应用程序上显示最多10秒,这使得Websockets看起来不起作用,但轮询正在生效.我已确认所有客户端都与Websockets连接,但由于更新不会立即传播,因此Nginx可能未配置为与Meteor应用程序正确通信.

这是我的SSL / Nginx服务:

apiVersion:v1
种类:服务
元数据:
??名称:frontend-ssl
??标签:
????名称:frontend-ssl
规格:
??端口:
?? – 名称:http
????港口:80
????targetPort:80
?? – 名称:https
????港口:443
????targetPort:443
??选择:
????名称:frontend-ssl
??type:LoadBalancer
??loadBalancerIP:123.456.123.456
??sessionAffinity:ClientIP

这是Meteor服务:

apiVersion:v1
种类:服务
元数据:
??名称:前端
??标签:
????名称:前端
规格:
??端口:
?? – 港口:3000
????targetPort:3000
??选择:
????name:flow-frontend
??type:LoadBalancer
??loadBalancerIP:123.456.123.456
??sessionAffinity:ClientIP

对于SSL终止,我使用Kubernetes建议的SSL设置与Websockets添加https://github.com/markoshust/nginx-ssl-proxy分叉

最佳答案
在你的NginX配置中,你是否确保每次都使用ip_hash标志将websockets定向到同一台服务器?您还需要确保转发websocket升级标头:

upstream meteorapp{
     ip_hash;
     server   hostname:port
}
server {
    # your server stuff here
    # 
    location / {
        proxy_pass                  http://meteorapp;
        proxy_set_header            Host $host;
        proxy_set_header            X-Real-IP $remote_addr;
        proxy_http_version          1.1;
        proxy_set_header            Upgrade $http_upgrade;
        proxy_set_header            Connection "upgrade";

        proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header            X-Forwarded-Proto http;
        proxy_redirect              http:// $scheme://;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读