我有以下场景:一台 Docker 主机上有多个 CMS 项目和一个正在运行的 Traefik。我想从公共 IP 地址中过滤掉后端 URL,因为它只能从私有 IP 范围访问。
公开可用: https://www.project.com/xyz https://www.project.com/abc
仅限于内部 IP:https: //www.project.com/backend
我是否可以通过 IP 白名单和例如 2 个路由器 (1 个用于公共访问,1 个用于后端访问) 来实现这一点?
我尝试过类似的事情:
# Backend Router (Restricted Access)
- "traefik.http.routers.project-backend.rule=Host(`${DOMAINNAME}`) && PathPrefix(`/backend`)"
- "traefik.http.routers.project-backend.entrypoints=https"
- "traefik.http.routers.project-backend.tls=true"
- "traefik.http.routers.project-backend.middlewares=backend-ipwhitelist"
- "traefik.http.routers.project-backend.priority=100"
但过滤器不起作用 - 仍然可以访问后端。
有什么建议吗?