描述: 我们有两个apache服务器,一个是haproxy。我们的新服务器位于haproxy盒子后面,OLD位于不同的网络上。我将创建一个apache重写规则,将此oldsite.com/some/thing指向新的haproxy框(如下所示)。这将重定向到newsite / some / other thing。
问题: 是否可以使用户透明?我希望用户只能看到oldsite.com/some/thing而不是newsite / some / other / thing?这可以通过haproxy实现吗?我对haproxy有点了解但不是很多。在此先感谢您的时间。非常感谢。
答案 0 :(得分:0)
根据@Panama Jack的提示,我创建了一个基本测试,我认为这对我有用。这只是粗略的配置,需要保护等等才能完全运行。这是apache 2.4(亚马逊AMI)。如您所见,我想让第二个服务器对用户透明。
此示例(快速和脏)设置执行以下操作:
服务器处理请求:
<VirtualHost *:80>
ServerAdmin admin@localhost
ServerName login.HOST.info
ServerAlias www.login.HOST.info
ErrorLog logs/login-error_log
CustomLog logs/login-access_log common
RewriteEngine On
RequestHeader add X-SSL off
RewriteRule ^/(.*) http://login.DESTINATION.info/$1 [P,L]
</VirtualHost>
最终服务器处理请求:
<VirtualHost *:80>
ServerName login.DESTINATION.info
ServerAdmin webmaster@site.com
DocumentRoot /var/www/deal/site/locator/whatever/
RemoteIPHeader X-Forwarder-For # allows the host to remain
RemoteIPInternalProxy XXXX.0.0.0/8 # ip of other machine
</VirtualHost>
答案 1 :(得分:0)
请参阅我的第一个答案,但另一种方法是使用一个虚拟主机并使用代理:
acl loc_req url_beg -i /uri/locator/location
(使用!loc_req等添加阻止到旧服务器的行。)
<VirtualHost *:80>
ServerAdmin admin@localhost
ServerName login.HOST.info
... ....
Alias /uri/locator/location /www/actual/path/to/new/location
... .....