У нас есть приложение 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]