【问题标题】:Redirect to new domain from an existing domain (Apache / haproxy)从现有域重定向到新域(Apache / haproxy)
【发布时间】:2017-01-30 02:18:43
【问题描述】:

说明: 我们有两台 apache 服务器,一台在 haproxy 后面。我们的新服务器在 haproxy 盒子后面,旧的服务器在不同的网络上。我将创建一个 apache 重写规则,将 oldsite.com/some/thing 指向新的 haproxy 框(如下所示)。这将重定向到 newsite/some/other 的东西。

问题: 是否有可能使这对用户透明?我希望用户只看到 oldsite.com/some/thing 而不是 newsite/some/other/thing ?这可以通过 haproxy 实现吗?我对 haproxy 了解一点,但不是很多。在此先感谢您的时间。非常感谢。

【问题讨论】:

  • 换句话说,将 oldsite.com 指向 newsite.com,但用户只能看到 oldsite.com
  • 这不是 haproxy 的工作职能。您可以使用当前的 apache 设置来做到这一点。只需对您的新 VIP/主机名执行 proxypass 或使用 P 标志重写,它应该是透明的。
  • ...或者在旧服务器上安装 haproxy,将请求转发到新服务器...但是如果不重写地址栏,您将无法执行任何正确称为“重定向”的操作。跨度>
  • 谢谢你们,只是需要你很好地提供给我的一个小方向。再次感谢,我在下面发布了一个解决方案..各种粗略的草稿..

标签: apache .htaccess haproxy


【解决方案1】:

根据@Panama Jack 的提示,我创建了一个我认为对我有用的基本测试。这只是粗略的配置,需要保护等才能充分发挥作用。这是 apache 2.4(亚马逊 AMI)。正如你在上面看到的,我想让第二台服务器对用户透明。

此示例(快速而肮脏)设置执行以下操作:

  • login.HOST.info = login.DESTINATION.info
  • (用户永远不会看到页面实际存在的 login.DESTINATION.info url)

服务器处理请求:

<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>

【讨论】:

    【解决方案2】:

    查看我的第一个答案,但另一种方法是使用一个虚拟主机并使用代理:

    ha 代理

     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
       ... .....
    

    【讨论】:

      猜你喜欢
      • 2017-02-13
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-17
      • 1970-01-01
      • 2012-05-13
      • 2014-04-06
      相关资源
      最近更新 更多