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

Обратный прокси-сервер Apache на основе заголовка

Итак, у меня есть конфигурация для apache, которая работает в 99% случаев. Он проверяет значение заголовка в запросе и на основе этого перенаправляет на правильный URL-адрес версии API с 307 положение дел. Это работает для всех клиентов, которые правильно реализуют стек http. к сожалению, у меня есть приложение, которое не следует этому и конвертирует все POST запросы в GET.

Итак, это proxy.conf что я получил прямо сейчас:

RewriteEngine On
RewriteCond %{HTTP:X-Android-Version} =660
RewriteRule ^/services/6/(.*)$ /services/internal/6/$1 [R=307]

RewriteCond %{HTTP:X-Android-Version} >661
RewriteRule ^/services/6/(.*)$ /services/internal/7/$1 [R=307]


ProxyPass /services/internal/7 http://mbe700:8080/services/6
ProxyPass /services/internal/6 http://mbe600:8080/services/6

Так что мне интересно:

Возможно ли использовать такой же прокси-пропуск без использования правила перезаписи URL, поскольку в моем случае это не работает?

Оказывается, это было намного проще, чем я предполагал ... просто изменение флага в rewriterule, похоже, помогло.

RewriteEngine On
RewriteCond %{HTTP:X-Android-Version} =660
RewriteRule ^/services/6/(.*)$ /services/internal/6/$1 [P]

RewriteCond %{HTTP:X-Android-Version} >661
RewriteRule ^/services/6/(.*)$ /services/internal/7/$1 [P]


ProxyPass /services/internal/7 http://mbe700:8080/services/6
ProxyPass /services/internal/6 http://mbe600:8080/services/6