Перенаправление Apache между domain1.com и domain2.com с балансировщиком нагрузки в роли - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть два идентичных приложения, привязанных к порту 3000, использующих классический балансировщик нагрузки для переключения между двумя серверами 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]

1 Ответ

0 голосов
/ 09 октября 2018

Я достиг этой покупки по следующей конфигурации:

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

...