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

如何使用Traefik映射Docker服务不同端口,将443对接WordPress容器8443端口

你的配置缺失了Traefik后端转发端口的指定规则,该规则需要在服务的Traefik标签中通过service配置定义,和middleware无关。middleware仅用于处理请求跳转、Header修改等流量处理逻辑,不负责后端服务的端口指定。

你可以根据需求选择以下两种配置方案:


方案1(推荐):Traefik统一处理SSL证书,转发到容器HTTP端口

这是最常用的部署方式,Traefik完成HTTPS证书校验和解密后,用HTTP协议和WordPress容器通信,不需要处理容器自身的HTTPS证书,性能更优。
你只需要在WordPress服务的labels末尾新增一行配置,指定转发端口为8181即可:

- "traefik.http.services.wordpress-secured.loadbalancer.server.port=8181"

修改完成后的完整labels配置如下:

labels:
  - "traefik.enable=true"
  - "traefik.docker.network=traefik"
  - "traefik.http.routers.wordpress.rule=Host(`domain.com`)"
  - "traefik.http.routers.wordpress.entrypoints=web"
  - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
  - "traefik.http.routers.wordpress.middlewares=redirect-to-https@docker"
  - "traefik.http.routers.wordpress-secured.rule=Host(`domain.com`)"
  - "traefik.http.routers.wordpress-secured.entrypoints=websecure"
  - "traefik.http.routers.wordpress-secured.tls=true"
  - "traefik.http.routers.wordpress-secured.tls.certresolver=myresolver"
  # 新增后端转发端口配置
  - "traefik.http.services.wordpress-secured.loadbalancer.server.port=8181"

额外需要在WordPress的environment配置中新增变量,避免站点出现样式错乱、跳转错误的问题:

WORDPRESS_ENABLE_REVERSE_PROXY: yes

方案2:直接转发到容器的8443 HTTPS端口

如果你需要让容器自身处理HTTPS通信,需要同时指定端口和通信协议:
在labels中新增以下两行配置:

- "traefik.http.services.wordpress-secured.loadbalancer.server.port=8443"
- "traefik.http.services.wordpress-secured.loadbalancer.server.scheme=https"

补充说明

你之前配置的expose: [8443]没有生效是因为该配置仅为端口声明,没有实际控制功能,只要Traefik和WordPress容器在同一个traefik网络下,就可以直接通信,不需要额外配置端口暴露。
之前配置不生效的根本原因是该Bitnami镜像同时暴露了8181和8443两个端口,Traefik无法自动选择转发端口,必须手动指定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:45:07