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

2024-01-02

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

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

这是我的 SSL/Nginx 服务:

apiVersion: v1 kind: Service metadata: name: frontend-ssl labels: name: frontend-ssl spec: ports: - name: http port: 80 targetPort: 80 - name: https port: 443 targetPort: 443 selector: name: frontend-ssl type: LoadBalancer loadBalancerIP: 123.456.123.456 sessionAffinity: ClientIP

这是 Meteor 服务:

apiVersion: v1 kind: Service metadata: name: frontend labels: name: frontend spec: ports: - port: 3000 targetPort: 3000 selector: name: flow-frontend type: LoadBalancer loadBalancerIP: 123.456.123.456 sessionAffinity: ClientIP

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


在您的 NginX 配置中,您是否确保使用ip_hash标记每次将 websocket 定向到同一服务器?您还需要确保转发 websocket Upgrade 标头:

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://;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Kubernetes 上使用 Nginx SSL 代理运行 Meteor 应用程序 的相关文章

随机推荐

  • 如何获取导航抽屉中的项目以更改视图

    我想制作一个带有导航抽屉的简单应用程序 它可以打开其他视图 新闻 信息 图库 联系人等 所以我打开了最新的Android Studio 做了一个兼容API8 gt API19的新项目 以获得最大的覆盖范围 我选择了预设的导航抽屉并单击完成
  • 在 Windows 服务中使用 OWIN 托管 WebAPI

    我使用 OWIN 自托管 Web API 在 Windows 服务内 据我了解 这足以使 HTTP 请求到达 Windows 服务 我可以访问 WebAPI URL http localhost users 本地 来自同一台机器 但不是来自
  • Spring @Transactional Timeout 未按预期工作

    我有一个 JDBC 批量更新操作 可能需要很长时间 因此我使用事务超时来处理这个问题 Override Transactional propagation Propagation REQUIRES NEW timeout 10 public
  • Android布局:如何实现类似一副纸牌的UI?

    我需要实现一个类似于 Google Chrome 的选项卡堆栈的布局 如下所示 有可用的库吗 您需要为卡片的每个方面创建一组自定义可绘制对象 并在布局中使用它们 您可以使用表格布局来实现此目的 例如 要放置带角的背景 您可以创建一个可绘制对
  • 一阶逻辑引擎

    我想创建一个可以使用一阶逻辑进行简单推理的应用程序 谁能推荐一个可以接受任意数量的 FOL 表达式并允许查询这些表达式 最好通过 Python 访问 的 引擎 除非绝对必要 否则不要使用一阶逻辑 FOL 进行查询 一阶逻辑不可判定 而只是半
  • Parsley:按下提交以外的按钮时如何防止验证?

    感谢您的任何帮助 我正在尝试使用欧芹进行表单验证 我的表单有一个提交按钮和一些其他按钮 用于动态向表单添加输入 但是当我按下这些其他按钮时 就会执行表单验证 但我没有提交任何表格 当我按提交按钮以外的其他按钮时 如何防止发生表单验证 抱歉
  • 将packages.config更改为somethingelse.config

    我创建了一个 ASP NET MVC 4 5 应用程序 现在我想将packages config更改为mypackages1 config 文件的简单重命名 我编辑了 csproj 文件并按照提到的方式重命名 我如上所述重命名了packag
  • NSButton RadioGroup(NSMatrix 替代方案)

    我已经尝试了几次设置几个类似的按钮 所有按钮都连接到相同的 IBActions 但似乎仍然无法复制 RadioButton 行为 目前 我有 5 个 Button 它们都是一个 NSView 的子级 NSView ButtonOne NSB
  • Windows Phone 8.1 的 SQLite.Net PCL 支持/解决方法

    我有一个 WIndows Phone 8 1 应用程序 我想在此处使用 SQLite Net PCL 库分叉 oysteinkrog https github com oysteinkrog SQLite Net PCL https git
  • 二元运算“==”不能应用于类型X

    我有一个自定义类型 pub struct PValue pub name String pub value Option
  • Delphi错误E2010不兼容的类型:'字符串'和'过程,无类型指针或无类型参数'

    我使用了 TStringList 和类似的东西 geo TStringList response TStringStream begin http tidhttp Create nil try TODO oUser cConsole Mai
  • 对于 ListBox1 中的每个项目执行一些操作,然后将项目添加到 listbox2 vb

    我制作了一个应用程序来将某些数字转换为其他格式 i e 1 A 2 B 3 C 4 D 5 E ETC 我已经毫无问题地实现了该功能 并且已经使用它相当长一段时间了 但现在我想更快地批量完成操作 所以对我来说 从文本文件复制到 Textbo
  • Spring-WS无需操作即可生成WSDL

    Spring WS生成WSDL时不需要绑定标签中的操作 你知道为什么吗 有我的 spring ws service xml
  • 使用 http 的 Range 标头下载视频的后半部分

    我想下载本地主机上视频的后半部分 我编写了一些 python 代码来下载从一半到结尾的文件 通过 http 的 Range 标头 但是当我用 vlc 打开文件时 没有任何反应 所以它不起作用 如何下载 mp4 文件的一部分并且仍然能够观看它
  • 如何选择statsmodels STL函数的正确参数?

    我一直在阅读有关时间序列分解的内容 并且非常了解它如何在简单的示例中工作 但在扩展这些概念时遇到了困难 例如 我正在使用一些简单的合成数据 因此 没有与该数据相关的实际时间 可以每秒或每年采样一次 无论采样频率如何 周期大约为 160 个时
  • 返回 ICollection 相对于 List 的优点是什么[重复]

    这个问题在这里已经有答案了 可能的重复 List of T 和 Collection of T 有什么区别 https stackoverflow com questions 398903 what is the difference be
  • 在 Matlab 中创建多个具有相同比例的箱线图

    我想在 Matlab 中绘制几个不同的箱线图 但给它们相同的比例 这样读者就不会因为并排比较它们而被误导 我尝试过使用 datalim 选项 但它只对箱线图施加上限 但如果数据未达到上限 则不会拉伸它 有任何想法吗 尝试 linkaxes
  • 在 iOS 7 中的 Alamofire 中设置自定义 HTTP 标头不起作用

    我尝试过设置Alamofire Manager sharedInstance session configuration HTTPAdditionalHeaders我在 iOS 7 中使用了自定义 HTTP 标头 但我没有运气 这在 iOS
  • 未在 T-SQL 中创建动态列

    我有以下表格 tbl工程查找专栏管理员 elccolumnid elclookupcode elccolumnname elcisrequired 1 64 FirstName 1 2 64 LastName 1 3 65 abc 1 4
  • 在 Kubernetes 上使用 Nginx SSL 代理运行 Meteor 应用程序

    我在 Google Cloud 上使用 Kubernetes 部署了一个 Meteor 应用程序 并配置了 Nginx 作为 SSL 终止 一切正常 但是 如果两个不同的客户端连接到两个不同的 SSL 容器 则更新在长达 10 秒的时间内不