Как передать запросы, полученные с определенным Заголовком ИЛИ от определенного IP-адреса со стеком LAMP

У нас есть приложение Symfony2, которое находится в тяжелой разработке и только что подписало наш первый производственный клиент.

Мы хотим временно поместить этот клиент на другой кластер, который стабилен, в то время как мы продолжаем тяжелую разработку на нашем текущем кластере. Мы хотим, чтобы эта целая ситуация осталась невидимой для клиента как бы то ни было.

Так, я хотел бы выборочно передать запросы от машины этого клиента с помощью их определенной (предпочтенной) авторизации заголовка запроса или их IP-адреса (если заголовок не возможен) с нашего основного www веб-сервера на веб-сервер нашего стабильного кластера.

Я смотрю на mod_proxy, это было бы лучшим инструментом для достижения этого?Что-нибудь еще? Я могу сделать это в приложении при необходимости, но это добавило бы немного нежелательных издержек к каждому запросу. Мы настраиваемся на AWS, если это обеспечивает какие-либо дополнительные инструменты, о которых я не знаю.

Огромное спасибо!

1
задан 11 August 2014 в 01:48
1 ответ

Так как вы хотите делать форвард выборочно, вам нужны и mod_proxy и mod_rewrite, так как mod_proxy сам по себе будет проксировать только по контексту URL

Вы можете либо проксировать на основе удаленного IP:

RewriteCond %{REMOTE_ADDR} ^12.34.56.78$
RewriteRule ^(.*)$  http://cluster/$1  [P]

или на основе логина (предполагая базовую аутентификацию):

RewriteCond %{REMOTE_USER} ^username$
RewriteRule ^(.*)$  http://cluster/$1  [P]

Также есть %{HTTP:header_name} в случае, если это пользовательский заголовок:

RewriteCond %{HTTP:my_custom_header_name} ^my_custom_header_value$
RewriteRule ^(.*)$  http://cluster/$1  [P]
1
ответ дан 4 December 2019 в 00:20

Теги

Похожие вопросы