Назад | Перейти на главную страницу

mod_proxy и завершающие косые черты?

Мы используем 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/