【问题标题】:Apache redirection between domain1.com and domain2.com with load balancer in role使用负载均衡器在 domain1.com 和 domain2.com 之间进行 Apache 重定向
【发布时间】:2019-03-05 18:18:02
【问题描述】:

我有两个相同的应用程序绑定到端口 3000,使用经典负载均衡器在 2 个 EC2 服务器之间切换以进行故障控制。我们为这两个应用程序使用 domain1.com(ELB DNSlinked) 和 domain2.com(ELB DNSlinked)。现在,我必须在 apache 级别设置重定向,尝试了 RewriteEngine 的几种组合,但没有一个有效。有没有人使用过类似的结构或其他人可以提供帮助?

<VirtualHost *:80>
ServerName olddomain.com 
ServerAlias www.olddomain.com 
RewriteEngine On 
RewriteCond %{HTTP_HOST}!newdomain.com$ [NC]
RewriteRule ^(.)$ newdomain.com/$1 [L,R=301] 
</VirtualHost>

RewriteEngine on RewriteCond %{HTTP_HOST} ^domain1.com RewriteRule ^(.*)$ newdomain.com/$1 [R=permanent,L]

【问题讨论】:

  • 用结果展示你的尝试。阅读How to Askminimal reproducible example
  • 您可以编辑您的问题并将所有内容以正确的格式(编辑器中的图标{})并缩进。与 cmets 相同,您可以编辑它们(5 分钟)或删除它们。在这里我建议你把所有的信息都放在问题中,并删除 cmets。

标签: apache amazon-ec2 url-redirection centos7 amazon-elb


【解决方案1】:

我实现了这个购买下面的配置;

<VirtualHost *:80>

ProxyPreserveHost On

RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteCond %{HTTP_USER_AGENT} !ELB-HealthChecker/1.0
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]

RewriteCond %{HTTP_HOST} !domain1.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} !ELB-HealthChecker/1.0
RewriteRule ^(.*)$ https://www.domain1.com%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_USER_AGENT} !ELB-HealthChecker/1.0
RewriteRule ^(.*)$ https://www.domain1.com%{REQUEST_URI} [R=301,L]


ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-20
    • 2013-06-13
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    相关资源
    最近更新 更多