You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS Ubuntu上使用自定义SSL证书部署Traefik与多副本容器化Shiny Server?

单EC2环境Traefik反代多副本Shiny Server 404问题排查指南

核心判断前提

目前abc.xxxgateway.com可以正常访问Traefik界面,说明Traefik服务本身、443/80端口映射、EC2安全组、域名解析到公网IP的基础链路全部正常,404错误是Traefik收到xyz.xxxgateway.com的请求后,未匹配到对应Shiny后端服务触发的,和Shiny应用本身的运行状态无关。

分步骤排查修正方案

1. 核对Traefik对Shiny服务的路由标签配置

Traefik默认通过容器标签识别服务路由规则,这是最容易出现配置错误的环节:

  • 确认Shiny服务的路由规则完整匹配xyz.xxxgateway.com,使用Docker标签部署时的正确配置参考:
    labels:
      - traefik.enable=true
      # 路由匹配规则:匹配xyz域名的请求
      - traefik.http.routers.shiny.rule=Host(`xyz.xxxgateway.com`)
      # 绑定到Traefik的HTTPS入口
      - traefik.http.routers.shiny.entrypoints=websecure
      # 开启TLS
      - traefik.http.routers.shiny.tls=true
      # 负载均衡指向Shiny容器内部端口,无需填写宿主机映射端口
      - traefik.http.services.shiny.loadbalancer.server.port=3838
      # 显式指定路由优先级,避免被dashboard的默认规则覆盖
      - traefik.http.routers.shiny.priority=100
    
  • 确认Shiny服务和Traefik服务接入了同一个Docker网络:多副本部署时,所有Shiny容器都要加入Traefik所在的可被发现的网络,不能存在Traefik无法路由到的独立网络副本。

2. 核对自有SSL证书的绑定逻辑

采用本地SSL.cert、SSL.key的自有证书部署方式时,需避免证书绑定范围不全的问题:

  • 不要只把SSL证书绑定到Traefik dashboard的路由上,要将同一份证书配置到全局websecure入口的TLS规则中,覆盖所有域名的HTTPS请求
  • 检查SSL证书的SAN列表,确认包含xyz.xxxgateway.com,Traefik遇到没有匹配证书的域名请求时,会直接返回404而非证书警告。

3. 本地连通性验证

在EC2实例上直接验证Traefik到Shiny服务的链路连通性,排除网络层问题:

  • 进入Traefik运行的容器内部,执行带Host头的curl测试:
    curl -H "Host: xyz.xxxgateway.com" http://<shiny服务的docker网络域名>:3838
    
    如果可以返回Shiny Server的首页HTML内容,说明容器间网络连通,问题仅存在于Traefik的路由标签配置;如果返回连接拒绝,说明两个服务不在同一可路由的Docker网络中。
  • 无需额外调整EC2安全组:两个域名解析到同一公网IP,既然abc域名可以正常访问,说明80/443端口的入站规则已经放通。

高频踩坑修正

  • 不要沿用单域名部署的子路径规则(比如将Shiny配置在abc.xxxgateway.com/shiny路径下),当前是独立域名指向Shiny,直接配置根路径Host规则即可
  • 多副本部署时,需将Traefik路由标签配置在docker-compose的顶层服务定义上,不要只给单个副本实例加标签,避免部分副本被识别、部分副本被遗漏
  • 区分不同错误码的触发原因:如果配置了错误的中间件,通常会返回401/502错误而非404,排查时可优先查看Traefik的实时日志,定位未匹配请求对应的规则。

内容的提问来源于stack exchange,提问作者Basant Neupane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 22:45:03