Traefik合并斜杠

问题描述 投票:0回答:1

我正在尝试在docker-compose文件中的一个容器上实现Traefik的重定向配置。我在Nginx服务配置中找到了一个名为merge_slashes的类似配置。这与我想要实现的行为完全相同。

尝试了此处描述的Nginx服务的正则表达式替代方法:https://www.ctrl.blog/entry/relative-double-slashes-url.html

rewrite ^(.*)//(.*)$ $1/$2;
rewrite ^ $uri permanent;

但是这种方法不适用于Traefik。

  labels:
      traefik.merge_slashes.frontend.rule: 'Host:${PROJECT_BASE_URL}'
      traefik.merge_slashes.frontend.redirect.regex: '(.*)\\/\\/+(.*)'
      traefik.merge_slashes.frontend.redirect.replacement: '$${1}/$${2}'
      traefik.merge_slashes.frontend.redirect.permanent: 'true'
redirect merge docker-compose traefik nginx-config
1个回答
0
投票

通过使用以下配置可以实现的目标:

labels:
      traefik.merge_slashes.frontend.rule: 'Host:${PROJECT_BASE_URL}'
      traefik.merge_slashes.frontend.redirect.regex: '(.*\\:\\/\\/.*)\\/\\/+(.*)'
      traefik.merge_slashes.frontend.redirect.replacement: '$${1}/$${2}'
      traefik.merge_slashes.frontend.redirect.permanent: 'true'

但是对于URL这样的过多重定向问题,可能会发生以下情况:http://localhost/some/////////////////////////////////////////////example///url

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.