如何使用 Traefik 进行 WebSocket 后端

2024-03-16

我正在尝试为 WebSocket 应用程序配置 Traefik,我只是尝试在 docker 上使用一个简单的 WS 应用程序:https://hub.docker.com/r/jmalloc/echo-server/ https://hub.docker.com/r/jmalloc/echo-server/

为了测试它,我使用 Chrome SimpleWebSocketClient,所以如果我使用应用程序的 IP:端口,它可以正常工作。如果我添加 Traefik DNS,它就会失败,我只是尝试使用其他 WS 服务器和客户端,也会失败,所以这将是 Traefik 的问题。

我只是尝试使用 Traefik 版本:

-v1.3.0/raclette
-v1.2.3/morbier

这些是我的 Traefik 规则:

[backends.ws-test-backend]
    [backends.ws-test-backend.LoadBalancer]
      method = "drr"
    [backends.ws-test-backend.servers.server1]
    url = "ws://172.16.8.231:3000"

[frontends.ws-test-frontend]
  backend = "ws-test-backend"
  passHostHeader = true
  entrypoints = ["http","https","ws", "wss"]
    [frontends.ws-test-frontend.routes.manager]
    rule = "Host:ws-test.ikcloud.ikerlan.es"

会出什么问题吗? 有推荐的反向代理来执行此操作吗?


您需要为您的 ws 连接启用粘性会话,否则它将一直重新连接。

[backends]
  [backends.backend1]
    # Enable sticky session
    [backends.backend1.loadbalancer.stickiness]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Traefik 进行 WebSocket 后端 的相关文章

  • 为什么我的 wss://(基于 SSL/TLS 的 WebSockets)连接立即断开而不给出任何错误?

    将此发布给遇到同样问题的其他人 我当时正在开发一个浏览器客户端 它使用 stanza io 连接到 XMPP 服务器 在我的例子中是 Prosody 我默认使用 wss 连接 在开发过程中的某个时刻 我的客户端根本无法连接 它会立即无提示地
  • WebSocket 连接到 TIdHTTPServer,握手问题

    我正在使用 C Builder 10 1 Berlin 编写一个简单的 WebSocket 服务器应用程序 该应用程序在端口上侦听从 Web 浏览器 例如 Google Chrome 发送的一些命令 在我的表单上 我有一个 TMemo TB
  • Python 的 SignalR 替代方案

    Python 世界中 SignalR 的替代方案是什么 准确地说 我在Windows 8上使用tornado和python 2 7 6 我发现sockjs龙卷风 https github com MrJoes sockjs tornado
  • Autobahn websockets Android 演示崩溃

    我是 websockets 的新手 我一直在使用 Autobahn websocket 来制作一个更大的项目 它在 python 和 js 版本中工作得很好 但我在 Android API 上遇到了麻烦 我正在遵循中的教程http www
  • Jenkins/Apache 反向代理错误

    根据我的搜索 我遇到了一个似乎相当常见的问题 但是我已按照我遇到的所有说明和 或修复进行操作 但没有一个对我有用 所以我问这个希望有人可以引导我走向正确的方向 我在 OS X 10 11 2 上通过 Homebrew 安装了 Jenkins
  • 我可以在浏览器中启动 socket.io/websocket 服务器吗?

    之前有人问过这个问题 答案是否定的 但是现在 有了 browserify webpack 我可以像在服务器上那样编写代码吗 它会在浏览器中运行 还是有任何限制使这变得不可能 你不能 在浏览器中启动服务器需要访问浏览器中根本不存在的低级功能
  • Play框架2.5.0 Websockets示例[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 播放框架 2 5 0 Websockets 示例 在 play 2 5 0 websockets 代码
  • Heroku 上带有 Django Channels 的 Websocket

    我正在尝试将我的应用程序部署到heroku 该应用程序有一个简单的聊天系统 使用 Websockets 和 django 通道 当我使用 python manage py runserver 测试我的应用程序时 应用程序的行为正如预期的那样
  • 如何在反向代理后面正确设置 JSESSIONID cookie 路径

    我的网络应用程序正在 Tomcat 中运行http localhost 8080 example com 但它是从 Apache 提供的反向代理http example com 在端口 80 上 我的网络应用程序查看request getH
  • 客户端通过 websocket 连接从后端服务器数据库表检索数据

    我使用以下服务器代码从 postgres 数据库检索数据 const express require express const app express const server require http createServer app
  • Dart 将客户端 Socket 升级为 WebSocket

    Since WebSocket https api dartlang org stable 2 1 0 dart io WebSocket class html在 Dart 中不允许直接设置安全上下文 https api dartlang
  • 在cypress中捕获websocket请求

    我试图捕获测试期间发生的所有请求 我的应用程序使用 WebSocket 并且使用拦截命令我无法捕获 wss 请求 有什么办法可以做到这一点吗 我认为拦截命令不能直接捕获网络套接字 一种方法是观察 ws 通信的结果 如下所示使用 Cypres
  • 玩 Scala Akka WebSockets 更改 actor 路径

    我遵循使用 Scala Play 和 Akka Actor 创建 Web 套接字的示例 https www playframework com documentation 2 5 x ScalaWebSockets Handling Web
  • ReverseProxy取决于golang中的request.Body

    我想构建一个 http 反向代理 它检查 HTTP 主体 然后将 HTTP 请求发送到它的上游服务器 你怎么能在 Go 中做到这一点 初始尝试 如下 失败 因为 ReverseProxy 复制传入请求 修改它并发送 但正文已被读取 func
  • 如何通过 libwebsocket 发送异步数据?

    我正在将 Warmcat 的 libwebsocket C 库用于小型 Websocket 服务器 我已经启动并运行了这些示例 并且可以发送数据以响应从 websocket 接收数据 例如回显发送的反向字节 但是 我无法弄清楚如何在不使用
  • 使用单个“proxyServer”将 Websocket 代理到多个目标

    我正在开发一个nodeJS websocket代理服务器 用例是当 websocket 请求到来时 我将检查其凭据 添加新标头 然后根据其组 来自用户 ID 将 websocket 连接重定向到其目标 webscoket 服务器 我发现大多
  • 如何等待 WebSocket 就绪状态更改

    我正在尝试实现一个可以回退到轮询的 WebSocket 如果WebSocket连接成功 readyState变为1 但如果失败 readyState是 3 我应该开始轮询 我尝试过这样的事情 var socket new WebSocket
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • 由 Servlet 容器提供服务的 WebSocket

    上周我研究了 WebSockets 并对如何使用 Java Servlet API 实现服务器端进行了一些思考 我没有花费太多时间 但在使用 Tomcat 进行一些测试时遇到了以下问题 如果不修补容器或至少对 HttpServletResp
  • WebSocket 无法与 DNS 配合使用

    我有一个网络应用程序 我正在使用 websockets 我在使用 ws myDomain com 作为 websocket 服务器的地址时遇到问题 这个问题很奇怪 因为我使用许多 PC 测试了连接 似乎这适用于大约 1 5 的 PC 当我将

随机推荐

  • 当我在 gridview 中进行排序时,会触发 Gridview RowCommand 事件

    我陷入了一些不正常的问题 当我在 gridview 中进行排序时 它会触发该网格的 RowCommand 事件而不是排序事件 下面是我的网格视图的 HTML 代码
  • Date_format 转换是在边界日期上添加 1 年

    当我使用 DATE FORMAT 表示 12 月 31 日的日期时 2018 年即将更改为 2019 年 有人可以帮忙说这是一个错误还是我遗漏了一些东西 import org apache spark sql functions spark
  • Google App Engine 适用于长时间运行但 CPU 较低的任务,还是长时间轮询?

    App Engine 非常适合快速处理请求 无需对数据库或缓存或第三方资源进行外部 API 调用 但我们发现引入任何类型的 运行时间较长 的组件或外部延迟 例如在 HTTP POST 中 在后台异步运行的操作 可能需要一两秒钟来处理一些更密
  • Facebook 评论插件 Angularjs

    在我的 AngularJS 应用程序中添加 facebook 评论插件时 我遇到了一个奇怪的错误 应用程序页面的简化结构是 div div div div 带有fb评论框的页面被加载到ng view中 包含fb评论框的页面结构如下 div
  • 如何在Python中使用socket创建通道

    我之前已经启动过Python几次 现在我正在创建一个套接字服务器 我已经让服务器与多个客户端一起使用多个线程 万岁 但我正在寻找我无法调用的功能 我什至不知道它是否存在 我想创建一种客户端通道可以发送不同类型的消息 一个例子 我创建一个通道
  • 使用 MVVM 在 SwiftUI 中呈现警报

    我正在尝试使用 SwiftUI 和 MVVM 架构构建一个应用程序 我希望我的视图在其 ViewModel 认为有必要时 例如 当它从模型中获得某种新结果时 显示警报 因此 假设每当虚拟机检测到新结果时 它就会设置其status因此 视图模
  • 使用 net.tcp://0.0.0.0:0/blah 的服务主机发现 WCF 宣布 net.tcp://0.0.0.0:0/blah

    我想要一个可发现的服务 它可以侦听所有接口并为每个接口发布发现公告 我希望最终能够使用 tcp 0 0 0 0 0 blah 作为服务端点在配置文件中进行配置 但是当我运行下面的代码时 它发出的公告使用 tcp 0 0 0 0 0 blah
  • Silverlight 与 IIS 10.0 上的 RIA 服务导致 404 错误

    尝试使用 WCF RIA 服务迁移现有的正在运行的 Silverlight 应用程序IIS 6 0 to IIS 10 0 on W视窗服务器 2016但应用程序失败返回404错误s 当我在服务器上安装 Visual Studio 并尝试运
  • 自动运行多个 vim 命令和击键

    我想在 vim 中自动运行多个命令 即通过键入 repl 命令是 ConqueTerm lein repl
  • AChartEngine 的 Android 问题:在边距中设置图像

    是否可以将图像设置为背景边距 我通常使用mRenderer setMarginsColor Color argb 0x00 0x01 0x01 0x01 但我想设置一个图像 您无法在 AChartEngine 中将图像设置为背景 因为它是开
  • 使用点“.” MVC4 路由中的角色

    我目前正在提供来自数据库表的图像 这些图像都是相同的文件类型 我想要字符点 路线 但尚未取得任何成功 据我了解 ISAPI 处理程序可能会导致与此相关的问题 我只是不确定如何添加和排除以允许 ASP NET 处理此路由 routes Map
  • jQuery ajax json 响应的长度未定义且数据不正确

    我试图获取一个在服务器端转换为 json 对象的字典对象 以及正确的内容类型标头 但由于某种原因 即使我可以访问部分数据 其他部分也不会显示up 和 jquery 中的 json 对象的长度等于 0 这是我的 jquery 调用 ajax
  • 什么是 __main__.py?

    是什么 main py文件 我应该在其中放入什么样的代码 什么时候应该有一个 通常 Python 程序是通过在命令行上命名 py 文件来运行的 python my program py 您还可以创建一个充满代码的目录或 zip 文件 并包含
  • Antlr 语法生成无效的 C# 代码

    我正在尝试使用 ANTLR 和 StringTemplate 库开发一个 C 代码生成器 AntlrWorks 可以生成 C 解析器和词法分析器文件 而不会报告任何错误 但是 c 解析器代码无效 无法在 Visual Studio 中编译
  • Celery 3.0.1 中的框架错误

    我最近从 2 3 0 升级到 Celery 3 0 1 所有任务都运行良好 很遗憾 我经常收到 帧错误 异常 我还运行主管来重新启动线程 但由于这些线程从未真正被杀死 主管无法知道 celery 需要重新启动 有没有人见过这个 2012 0
  • 在 AWS Code Pipeline 中使用 docker compose 时出错

    我正在使用 AWS Code Pipeline 部署我的 dockerized Django 应用程序 但遇到了一些 Docker 错误 error Service proxy failed to build toomanyrequests
  • 如果满足特定条件,则停止沿特定深度的 boost::depth_first_search

    我在用着BGL http boost org doc libs 1 45 0 libs graph doc table of contents html来存储我的 DAG 顶点有状态 考虑到其中一个顶点的状态发生变化 我想更新依赖顶点 我可
  • 用于格式化一系列单元格并根据 Google 电子表格中的日期插入特定文本的脚本

    我有一个规划器类型的 Google 电子表格 其中每天有 8 10 个用户添加数据 当我向单元格添加日期时 我希望对该日期之后同一行中的所有单元格进行格式化并添加类似 ENDED 的文本值 目前 我正在使用条件格式和 ArrayFormul
  • -[NSRangeException raise] 上的符号异常断点

    在 Xcode 中添加符号断点为您提供了一个示例模板 NSException raise 我想做同样的事情但是具体来说 on NSRangeException raise 原因是我想断点only关于特定数组边界异常 例如 Terminati
  • 如何使用 Traefik 进行 WebSocket 后端

    我正在尝试为 WebSocket 应用程序配置 Traefik 我只是尝试在 docker 上使用一个简单的 WS 应用程序 https hub docker com r jmalloc echo server https hub dock