Мы используем httpd и mod_proxy в качестве обратного прокси перед различными веб-серверами.
У нас есть свои www
поддомен указывает на обратный прокси, и mod_proxy направляет запросы оттуда.
Я не смог придумать краткого выражения этого, поэтому просто покажу:
Если у нас есть веб-сайт по адресу http://blah.example.com/my-web-app, мы обычно добавляем такую строку в обратный прокси:
ProxyPass /my-web-app http://blah.example.com/my-web-app
так что пользователь может перейти к http://www.example.com/my-web-app
. Когда компонент пути запроса (/my-web-app
в этом случае) одинакова как на обратном прокси, так и на веб-сервере, косая черта в конце будет добавлена автоматически, как если бы кто-то пошел прямо к http://blah.example.com/my-web-app
.
Однако, если компоненты пути разные, например:
ProxyPass /my-web-app http://blah.example.com/some-other-path
то завершающая косая черта делает не быть добавленным.
Это нормально? Есть ли какая-то конфигурация, которая могла бы позаботиться об этом?
Внимательно прочтите раздел ProxyPass в документации Apache httpd (http://httpd.apache.org/docs/current/mod/mod_proxy.html). Скорее всего, вы можете обойти это поведение, явно указав конечный / для обоих аргументов директивы ProxyPass.
ProxyPass /my-web-app/ http://blah.example.com/some-other-path/