feat: add https websocket ingress baseline

This commit is contained in:
2026-09-22 02:25:13 +08:00
parent e97b76fe5f
commit 81f97544db
6 changed files with 172 additions and 3 deletions

View File

@@ -2,7 +2,7 @@
本文给出单节点部署的可重复入口,适合开发、验收和小规模生产前置环境。它把 MySQL、迁移、schema 核验和 Orbit 服务串成一条有明确失败边界的启动链路;生产多节点、数据库高可用、备份恢复和容量门禁仍按[生产验收](05-production-acceptance.md)执行。
前置条件:Docker Engine、Docker Compose v2.20 或更高版本;正式环境还应具备镜像仓库、Secret 管理器和 HTTPS 反向代理。
前置条件:Docker Engine、Docker Compose v2.20 或更高版本;如果使用仓库里的 Nginx 示例,需要 Nginx 1.25.1 或更高版本;正式环境还应具备镜像仓库、Secret 管理器和 HTTPS 反向代理。
## 1. 启动契约
@@ -38,6 +38,7 @@ export ORBIT_DB_NAME=orbit
export ORBIT_DB_USER=orbit_runtime
export ORBIT_DB_PASSWORD='从秘密管理器读取'
export ORBIT_DB_ROOT_PASSWORD='从秘密管理器读取'
export ORBIT_HTTP_BIND=127.0.0.1
export ORBIT_HTTP_PORT=8080
```
@@ -87,7 +88,9 @@ curl --fail http://127.0.0.1:"${ORBIT_HTTP_PORT:-8080}"/health/ready
Orbit Console 使用当前页面的同源地址调用服务端,浏览器不需要再填写 API URL,也不需要上传凭据 JSON 才能查看控制台。直接访问 `http://主机:端口/console/`,未登录会跳转到 `/console/login`。
接入域名时,将 HTTPS 反向代理转发到 Orbit 的 `8080` 端口,并保留 WebSocket Upgrade/Connection 头;浏览器访问的域名就是 Console 自动使用的 API 地址。`ORBIT_HTTP_PORT` 只控制主机映射端口,不是业务域名配置。TLS 证书、域名和安全头由反向代理或入口网关管理。
接入域名时,参考 [`deploy/nginx/orbit.conf.example`](../deploy/nginx/orbit.conf.example),将 HTTPS 反向代理转发到 Orbit 的 `8080` 端口,并保留 WebSocket Upgrade/Connection 头;浏览器访问的域名就是 Console 自动使用的 API 地址。`ORBIT_HTTP_BIND` 控制主机监听地址,`ORBIT_HTTP_PORT` 控制主机映射端口;两者都不是业务域名配置。生产建议保持 `ORBIT_HTTP_BIND=127.0.0.1`,只允许同机 Nginx 访问。TLS 证书、域名和安全头由反向代理或入口网关管理。
修改 Nginx 配置后先执行 `nginx -t`,再平滑加载配置;不要在未验证证书、HTTP 到 HTTPS 跳转和 WSS 升级前切换公网流量。Nginx 不应代理 Orbit 的独立 metrics 监听,metrics 只在内部采集网络开放。
## 4. 日常操作与失败处理