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

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

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

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

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

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

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

Поскольку вы хотите выполнять переадресацию выборочно, вам нужны как 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]