Commit Graph

4 Commits

Author SHA1 Message Date
03b8b52315 fix(registrar): 标签按行拼接避免逗号拆分;默认启用 TCP TLS;新增 TLS_MODE
All checks were successful
Build and Push to ACR / docker (push) Successful in 3m49s
- 修复 ConsulCatalog 标签因逗号分割导致的解析错误:
  「error parsing server URL ... : invalid port ':9009,'」
  现在改为按“行”累加标签,再转换为 JSON 数组,避免值中逗号(如 middlewares)被错误拆分
- TCP 路由默认启用 TLS(terminating),补齐 tls=true / tls.certresolver
  修复「HostSNI(...) but no TLS on router」
- 新增 TLS_MODE=terminating|passthrough|plaintext 三种模式
- 统一使用 loadbalancer.server.port(替代 server.url),规避尾逗号风险
- 提供严格的 to_json_array 实现,避免尾逗号 JSON 问题
- HTTP 路由补充 priority=10000;保留可选中间件(需与动态配置名称一致)

Test plan:
- 清理旧服务并重注册:
  curl -s http://100.64.0.1:8500/v1/agent/services \
    | jq 'to_entries[] | select(.value.Service=="mcp") | .key' \
    | xargs -I{} curl -s -X PUT http://100.64.0.1:8500/v1/agent/service/deregister/{}
  然后重启注册器容器
- 验证 Traefik 路由:
  curl -s http://localhost:8083/api/tcp/routers \
    | jq '.[] | select(.rule|test("ci-agent\\.jmsu\\.top")) | {name,entryPoints,tls}'
- 验证证书握手:
  openssl s_client -connect ci-agent.jmsu.top:4443 -servername ci-agent.jmsu.top -brief </dev/null

Refs:
- invalid port ":9009,"
- HostSNI(...) but no TLS on router
2025-10-03 14:52:04 +08:00
dce7cb6fc9 改用新版方式注册,云端使用通配符证书 2025-10-02 21:02:25 +08:00
09764e0874 add new env to manage rustfs 2025-09-28 20:38:01 +08:00
mm644706215
c2641e7faf add consul test 2025-09-28 17:15:27 +08:00