检查 WebSocket 协议升级、心跳、超时和断线恢复,制定与现有网关及客户端兼容的接入方案。
## 任务目标 请审查当前业务的 WebSocket 接入,输出与现有网关及客户端兼容的配置和验收方案。 以核查和评审为主,给出有证据的判断及可复核的修改建议;本次用户另有明确实现要求时,按其授权范围执行。 ## 输入信息(选填) 两项均可留空,也可直接用一句话说明目标并附上已有资料。无需自行整理版本、配置或完整需求表;能读取的内容由执行者补齐。 长连接入口:优先检查当前对话或配置中涉及断连的 WebSocket 路径;没有指定时从客户端连接地址和 Nginx 升级代理位置选取实际存在的一条链路,标明是否仅承载信令。 工程与连接资料:读取工作区中的 Nginx 相关配置、前端或 SDK 连接代码、版本依赖及已有握手和断连记录;从这些资料还原入口、上游和中间代理。 ## 信息不完整时 先使用本次对话中已经说明的信息;用户留空、写“暂无/不清楚”或未替换输入标记,都按缺失处理,不当作真实路径、参数或业务值。已能从资料确定的内容不重复询问,不编造文件、日志、接口、业务值或执行结果。在用户已授权的范围内读取相关工程和材料,不为补齐输入擅自扩大操作范围。 ### 优先确认 - 查找 WebSocket 构造、SDK 初始化、握手路径、鉴权和 Origin 校验位置。 - 沿 Nginx include、server、location 查 Upgrade、Connection、代理协议、Host 与路径转发。 - 对照客户端心跳重连代码和每层空闲超时,读取已有断连时间与状态。 - 核对信令、媒体和文件请求是否为不同通道,确认已有容量与消息重复处理证据。 ### 可采用的默认处理 - 默认只读审查并给最小配置差异,不修改或重载网关。 - 无心跳或容量测量时保留既有时限,给推导与观测方法,不填写通用超大超时或连接数。 - 按自有服务实际协议检查;只有确实使用腾讯云 IM 时才采用对应 SDK 的代理要求。 ### 必须有依据的事项 - 认证与 Origin 的允许范围、重连后消息是否允许重复执行缺少业务依据时,不默认放行或重放。 - 无法确认长连接的心跳与允许空闲时长时,不给可直接采用的断连超时数值。 只有缺口会改变业务结果、权限边界或关键实现,且无法从现有资料确认时,才集中提出最多 3 个关键问题;说明影响,并继续完成不依赖答案的部分。一般命名、排版和可逆实现细节按现有约定决定,不逐项等待确认。 ### 资料仍不足时的交付 - 没有现场资料时交付握手到上游的取证步骤、逐层超时对照模板和参数化最小配置示例。 - 提供握手失败、认证过期、空闲、断线及重连后的消息验收矩阵,结论保留待验证。 ## 执行要求 1. 区分业务信令、文件上传下载及音视频媒体流,明确哪些请求经过此 Nginx。不要认为建立 WebSocket 就代表媒体通道或文件访问也已成功。 2. 追踪客户端握手到上游响应,核查路径、Host、认证和 Origin 判断。对于使用 HTTP/1.1 升级的链路,检查代理协议以及 Upgrade、Connection 的处理,并验证实际握手结果。 3. 为普通 HTTP 与长连接路径分别评估配置,避免无差别覆盖全站请求头。若使用腾讯云 IM,核对 SDK 版本和其对应代理域名;自有服务保留自己的域名与鉴权协议。 4. 结合业务心跳间隔和各代理的空闲超时定位断连。列出每层超时的含义,检查客户端是否在后台、弱网或网络切换时停发心跳;超时值依据实际约定确定。 5. 评估连接上限、文件描述符和单实例容量,使用测试环境的测量结果给建议。检查滚动发布时如何排空旧连接,以及重连后是否会重复执行有副作用的消息。 6. 验证握手失败、认证过期、正常消息、空闲保持、异常断开、重新连接及多实例发布。逐项记录连接状态、消息是否重复或丢失、恢复耗时和用户可见反馈。 ## 交付与验收 输出:链路与超时对照、最小配置、断连原因证据、可复现测试步骤及容量待验证项。示例中的进程数、运行用户和网络地址不能直接迁入生产。 ### 本条完成检查 - 用实际路径说明握手、鉴权和协议升级的证据及最小配置建议。 - 验收分别覆盖连接存活、消息正确性和恢复行为,不把 WebSocket 成功等同于媒体或文件通道成功。 - 每项超时和容量结论注明来源,未运行的连接与负载测试明确列出。 按本条要求组织结果,使用简洁中文和一致的编号、术语、缩进及空行;已有项目格式优先。只说明实际完成的内容,将采用的假设、未完成项和缺少的条件写在相关位置,不额外生成无关文档。未执行、无法复现或缺少证据的检查如实标注,不宣称已通过或已有性能收益。 ## 参考资料与适用边界 - [腾讯云 · IM 应对网络访问限制实践教程](https://cloud.tencent.com/document/product/269/122408) 核验日期:2026-09-08。依据公开资料改写的执行模板;原文是腾讯云 IM 接入示例;不照搬 root 用户、固定 worker 数量或示例网络地址。
检查 Nginx 请求路径、Host、转发头与站点隔离,定位多站点反向代理问题。
## 任务目标 请审查 Nginx 到业务服务的完整请求链路,定位路由冲突和代理配置问题,给出与当前环境一致的修改。 以核查和评审为主,给出有证据的判断及可复核的修改建议;本次用户另有明确实现要求时,按其授权范围执行。 ## 输入信息(选填) 两项均可留空,也可直接用一句话说明目标并附上已有资料。无需自行整理版本、配置或完整需求表;能读取的内容由执行者补齐。 代理入口:从当前对话的域名或请求路径定位目标;留空时先盘点相关 server 与前端 API 前缀,选择一条存在配置冲突或路径疑点的请求链路进行审查。 配置与请求资料:从工作区读取 Nginx include 和站点配置、前端路由与请求封装、应用监听配置,以及已有响应和访问日志,自动补全代理拓扑。 ## 信息不完整时 先使用本次对话中已经说明的信息;用户留空、写“暂无/不清楚”或未替换输入标记,都按缺失处理,不当作真实路径、参数或业务值。已能从资料确定的内容不重复询问,不编造文件、日志、接口、业务值或执行结果。在用户已授权的范围内读取相关工程和材料,不为补齐输入擅自扩大操作范围。 ### 优先确认 - 解析 server_name、默认站点、location 优先级及 proxy_pass 的 URI 处理。 - 对照首页、深层路由、API、上传和静态资源的真实路径与上游处理入口。 - 检查 Host、HTTPS SNI、转发协议、可信代理范围及认证头的目标。 - 读取已有请求响应与其他同机站点配置,确认变更影响范围。 ### 可采用的默认处理 - 默认只读给配置差异与请求矩阵,不执行重载、改域名或改监听范围。 - 沿用真实路径和上游契约,不用统一重写或前端首页响应掩盖 API 错误。 - 没有响应证据时将冲突列为假设;缓冲、连接复用和超时保留现状,不复制 OSS 专用值。 ### 必须有依据的事项 - 入口 URI 应如何映射上游、前端深层路由与 API 的约定冲突且无权威依据时,不猜测改写目标。 - 可信代理边界或第三方上游接收认证信息的权限不明时,不新增对转发头的信任或透传秘密。 只有缺口会改变业务结果、权限边界或关键实现,且无法从现有资料确认时,才集中提出最多 3 个关键问题;说明影响,并继续完成不依赖答案的部分。一般命名、排版和可逆实现细节按现有约定决定,不逐项等待确认。 ### 资料仍不足时的交付 - 仅有域名或路径描述时交付请求逐跳核验方法、带占位符的配置对照和预期响应矩阵。 - 没有完整拓扑时列出 location 匹配及末尾斜杠的条件分析,不宣称已定位现场根因。 ## 执行要求 1. 画出浏览器到实际服务的路径,注明每跳协议、端口、Host 和 URI。先识别已有配置继承和 location 匹配关系,再判断命中的站点。 2. 分别跟踪首页、前端深层路由、API、上传与静态资源。用具体请求展示转发前后 URI,核查 proxy_pass 路径及末尾斜杠是否符合接口契约,避免把接口错误转成前端首页。 3. 检查上游 Host、HTTPS SNI 和原始协议的传递。使用 OSS 时按其域名要求验证;普通 Java、Python 服务按实际虚拟主机约定处理,不机械复用 OSS 示例值。 4. 明确可信代理名单和真实客户端地址的来源。审查应用对转发头的信任边界,避免直接信任公网客户端伪造的地址或协议头;检查认证信息是否被不必要地复制到第三方上游。 5. 根据实际响应规模、并发、上传和业务超时确定连接复用及缓冲策略。分别说明连接失败和慢响应的观测办法;不要用统一的大超时掩盖应用瓶颈。 6. 对修改前后分别执行同一请求矩阵,校验状态码、响应类型、重定向地址和关键业务内容。补充同机其他站点的回归检查及配置恢复步骤。 ## 交付与验收 输出:请求路径对照表、按证据排序的问题、必要配置差异、验证请求与预期响应。没有实际请求证据时,只提供诊断假设和下一步取证方法。 ### 本条完成检查 - 给出每类请求的转发前后 URI、Host、协议和状态预期。 - 配置建议有对应证据,覆盖 API 不被替换成首页、跳转正确及相邻站点回归。 - 说明真实客户端地址与认证头的信任边界,并区分已观察结果和待执行请求。 按本条要求组织结果,使用简洁中文和一致的编号、术语、缩进及空行;已有项目格式优先。只说明实际完成的内容,将采用的假设、未完成项和缺少的条件写在相关位置,不额外生成无关文档。未执行、无法复现或缺少证据的检查如实标注,不宣称已通过或已有性能收益。 ## 参考资料与适用边界 - [阿里云 · Access OSS through an ECS Nginx reverse proxy](https://www.alibabacloud.com/help/en/oss/user-guide/access-oss-through-ecs-reverse-proxy) 核验日期:2026-09-08。依据公开资料改写的执行模板;原文限定 OSS 代理场景;普通业务反向代理的检查步骤为本站扩展。