Я использую traefik 2.0.2 в качестве обратного прокси-сервера перед некоторыми службами. Одна служба backend возвращает ответ о перенаправлении (302), где заголовок местоположения содержит абсолютный URL-адрес перенаправления. URL-адрес сервера недоступен извне, как я могу переписать местоположение, чтобы снова пройти через обратный прокси-сервер?
Например, клиент запрашивает http://my-domain/foo
и получает ответ 302 с заголовком местоположения, содержащим http://backend:8080/foo/bar/
, что, конечно, не будет работать.
Я ищу что-то похожее на ProxyPassReverse apache mod_proxy. Я прочитал доступные промежуточные программы traefik, но, кажется, ничто не соответствует моим требованиям.
Моя упрощенная конфигурация:
# traefik.yml
entryPoints:
web:
address: ":80"
providers:
file:
filename: "dynamic-conf.yml"
# dynamic-conf.yml
http:
routers:
router1:
entryPoints:
- web
service: service1
rule: "PathPrefix(`/foo`)"
services:
service1
loadBalancer:
servers:
- url: http://backend:8080