我有一个相当简单的基于 traefik 路径的反向代理,并且想知道是否可以将用户重定向到不同的路径,而不是中间件影响代理的请求。
我知道我可以只指定根路径来路由到所需的服务,但这会影响该服务在代理后面的处理(无法加载任何页面图像/资源)。
查看文档,没有发现任何明显的不是用于更改用户 URL 的中间件工具。有没有办法根据另一个路径将用户重定向到不同的路径?
我当前的配置:
tls:
stores:
default:
defaultCertificate:
certFile: /etc/traefik/certs/publicCert.crt
keyFile: /etc/traefik/certs/privateKey.pem
certificates:
- certFile: /etc/traefik/certs/publicCert.crt
keyFile: /etc/traefik/certs/privateKey.pem
stores:
- default
http:
# https://doc.traefik.io/traefik/routing/services/
services:
core-depot:
loadBalancer:
serversTransport: oqmInternalTransport
servers:
- url: https://oqm-core-depot:443
preservePath: true
core-api:
loadBalancer:
serversTransport: oqmInternalTransport
servers:
- url: https://oqm-core-api:443
preservePath: true
infra-keycloak:
loadBalancer:
serversTransport: oqmInternalTransport
servers:
- url: https://oqm-infra-keycloak:443
core-base-station:
loadBalancer:
serversTransport: oqmInternalTransport
servers:
- url: http://oqm-core-base_station:80
preservePath: true
# https://doc.traefik.io/traefik/routing/services/#serverstransport_1
serversTransports:
oqmInternalTransport:
rootCAs:
- /etc/traefik/certs/rootCert.crt
# https://doc.traefik.io/traefik/routing/routers/
routers:
defaultRoute:
service: core-depot
rule: "Path(`/`)"
core-depot-router:
rule: "PathPrefix(`/core/depot`)"
service: core-depot
middlewares:
- strip-oqm-prefixes
core-api-router:
rule: "PathPrefix(`/core/api`)"
service: core-api
middlewares:
- strip-oqm-prefixes
infra-keycloak-router:
rule: "PathPrefix(`/infra/keycloak`)"
service: infra-keycloak
middlewares:
core-base-station-router:
rule: "PathPrefix(`/core/base-station`)"
service: core-base-station
middlewares:
- strip-oqm-prefixes
middlewares:
strip-oqm-prefixes:
stripprefix:
prefixes:
- /core/depot
- /core/api
- /core/base-station