还是建议使用 traefik2 ,因为 traefik2 本身也是运行在 Docker 容器中的,你只需要编排好容器,把 traefik 的配置写在 docker-compose 配置文件中即可,维护起来非常的方便。
traefik2 可以和你的服务编排到一起,也可以单独编排,分开编排的好处就是,新增服务后,你不需要重启 traefik2 ,traefik2 就可以基于 docker 的 label 动态发现你的服务。
当然 traefik2 除了反代 docker 中的 container 服务,也可以反代外部服务,比如你的群晖服务。
只需要新增一个 file provider 即可。
ps.我的 dns 重写用的是 adguardhome ,装在 openwrt 的软路由中的,当然你不用 adguardhome 也可以实现,只是我的域名解析都由 adguardhome 负责,统一管理比较方便。
blob:
https://imgur.com/fc41f29a-05a8-420f-a027-f2ee6718bbb2