我们有一个Symfony2应用程序正在发展,刚刚签署了我们的第一个客户端。
我们想暂时把这个客户端放在另一个稳定的集群上,而我们继续在当前的集群上进行大量的开发。 但是,我们希望整个情况对于客户来说是隐形的。
所以,我希望有select地将来自客户机器的请求从我们的主www万维网服务器使用他们特定的请求头授权(首选)或他们的IP地址(如果头是不可能的)转发到我们稳定群集的networking服务器。
我在看mod_proxy,这是否是实现这个最好的工具? 还要别的吗? 我可以在应用程序中做到这一点,但是这会给每个请求增加一些不必要的开销。 如果提供了我不知道的其他工具,我们将在AWS上进行设置。
谢谢一堆!
既然你想有select地进行转发,你需要mod_proxy和mod_rewrite,因为mod_proxy本身只能通过URL上下文进行代理
您可以基于远程IP代理:
RewriteCond %{REMOTE_ADDR} ^12.34.56.78$ RewriteRule ^(.*)$ http://cluster/$1 [P]
或基于login(asuming基本authentication):
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]