40 lines
1.9 KiB
Plaintext
40 lines
1.9 KiB
Plaintext
# IM 线 · 第 12 棒 —— 外部连接层的**边缘映射**示例(nginx)。
|
||||
|
|
#
|
|||
|
|
# 🔻 第 15 棒更新(2026-09-23):本文件已**落到 47** `/opt/dsh-gateway/nginx-location.conf`
|
|||
|
|
# 并用临时配置跑过 `nginx -t`(rc=0,见回报 §15.8);⛔ 但**仍未接进生效中的 vhost**
|
|||
|
|
# —— 开流量属"改线上连接层",是单独一步。
|
|||
|
|
# 落点提示:生效站点 = `ai1net.com.conf` 的 443 server 块(`location / → 127.0.0.1:3080`),
|
|||
|
|
# 把本文件的 location 插在它**之前**即可;`$connection_upgrade` 该机已存在
|
|||
|
|
# (`/www/server/panel/vhost/nginx/0.websocket.conf`)。
|
|||
|
|
#
|
|||
|
|
# 作用:客户端侧的 URL `/api/im/ws` **一个字都不变**,由边缘把它转到外部连接层的
|
|||
|
|
# WebSocket 端点;平台进程内那条 `/api/im/ws` 仍然保留(实例内凭据通道 + 回滚路径)。
|
|||
|
|
#
|
|||
|
|
# ⚠️ 前提:`$connection_upgrade` 这个 map 必须在 `http {}` 里存在一次(宝塔/常见发行版
|
|||
|
|
# 的默认配置里通常已有;没有就补下面这段):
|
|||
|
|
#
|
|||
|
|
# map $http_upgrade $connection_upgrade {
|
|||
|
|
# default upgrade;
|
|||
|
|
# '' close;
|
|||
|
|
# }
|
|||
|
|
|
|||
|
|
location = /api/im/ws {
|
|||
|
|
# 外部连接层的客户端通道(示例端口,按实际部署改)
|
|||
|
|
proxy_pass http://127.0.0.1:18081/connection/websocket;
|
|||
|
|
|
|||
|
|
proxy_http_version 1.1;
|
|||
|
|
proxy_set_header Upgrade $http_upgrade;
|
|||
|
|
proxy_set_header Connection $connection_upgrade;
|
|||
|
|
proxy_set_header Host $host;
|
|||
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|||
|
|
|
|||
|
|
# 长连接:⛔ 不要开缓冲,读超时要大于一次保活间隔(垫片默认 8.7 s)
|
|||
|
|
proxy_buffering off;
|
|||
|
|
proxy_read_timeout 300s;
|
|||
|
|
proxy_send_timeout 300s;
|
|||
|
|
|
|||
|
|
# 连接层不落平台日志;排障看连接层自己的日志与 /metrics
|
|||
|
|
access_log off;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
# 回滚(一行):注释掉上面的 location ⇒ 请求落回平台进程内的 `/api/im/ws`。
|