我设置了 Traefik 来管理我的 docker 容器,但我可以将 www 重定向到我的域的非 www。我已经尝试了论坛中的所有内容,但没有运气
labels:
- "traefik.enable=true"
- "traefik.http.routers.node.entrypoints=http"
- "traefik.http.routers.node.rule=Host(`awebsite.com`) || Host(`www.awebsite.com`)"
- "traefik.http.middlewares.vk-https-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.test-redirectregex.redirectregex.regex=^https://www.awebsite.com/(.*)"
- "traefik.http.middlewares.test-redirectregex.redirectregex.replacement=https://awebsite.com/$${1}"
- "traefik.http.routers.node.middlewares=vk-https-redirect"
- "traefik.http.routers.node-secure.entrypoints=https"
- "traefik.http.routers.node-secure.rule=Host(`awebsite.com`) || Host(`www.awebsite.com`)"
- "traefik.http.routers.node-secure.tls=true"
- "traefik.http.routers.node-secure.tls.certresolver=http"
- "traefik.http.routers.node-secure.service=node"
- "traefik.http.services.node.loadbalancer.server.port=8000"
- "traefik.docker.network=proxy"
Run Code Online (Sandbox Code Playgroud)
定义重定向中间件还不够,你还需要将它与定义的路由器一起使用
这是你的中间件定义
- "traefik.http.middlewares.test-redirectregex.redirectregex.regex=^https://www.awebsite.com/(.*)"
- "traefik.http.middlewares.test-redirectregex.redirectregex.replacement=https://awebsite.com/$${1}"
Run Code Online (Sandbox Code Playgroud)
您可能也需要添加此标签
traefik.http.middlewares.test-redirectregex.redirectregex.permanent=true
Run Code Online (Sandbox Code Playgroud)
但您从未在任何定义的路由器中使用过它。例如,如果您希望将此应用于node-secure路由器,则需要添加此标签
- "traefik.http.routers.node-secure.middlewares=test-redirectregex"
Run Code Online (Sandbox Code Playgroud)
可以在本文中找到更多信息、详细信息和示例
| 归档时间: |
|
| 查看次数: |
1951 次 |
| 最近记录: |