お世話になっております。
LBサーバー = IP:10.0.10.30
WEBサーバーA = IP:10.0.10.40
WEBサーバーB = IP:10.0.10.111
上記のような構成とし、LBサーバーのIPを経由してサーバAまたはBに振り分けを行っています。
この後ドメイン名を取得するにあたって、ドメイン名に結びつけるIPはLBサーバーのものになるかと思いますが、
WEBサーバー側ではhttp通信で飛んできたアクセスをhttpsのURLへリダイレクトさせる処理を入れております。
リダイレクト先のURLはドメインを指定する想定です。
まだドメインで試してはいませんが、以下のようにリダイレクト先を設定した場合、連続リダイレクトが発生しエラーとなってしまいます。
リダイレクト先:https://10.0.10.30 (LBサーバのIP)
ですので、リダイレクト先:https://domain.jp(LBサーバのIP)とした場合も同じ結果になると思われるのですが、
これはどのように回避するべきなのでしょうか?
リダイレクト先:https://10.0.10.40(webサーバのIP)とした場合、URLにドメインではなくIPが掲載されてしまいます。
DNS側の設定で回避可能ですか?
よろしくお願いいたします。
【追記】
https://10.0.10.40(webサーバのIP)が、LBサーバのIPを紐づけているドメイン名と同じものを表示できればそれでも良いのですが、hostsファイル等をいじれば解決するのでしょうか。
【追記2】
あまり詳しくないので情報が足りなくてすみません。
ロードバランサはHAProxyを使用し、SSLオフロードで振り分けを行っています。
URLがHTTPでもHTTPSでも、LBサーバは80ポートでwebサーバに負荷分散させています。
webサーバはHTTPアクセスをHTTPSにリダイレクトさせており、そのリダイレクト先がLBサーバに向いている事によってリダイレクトループが発生しています。
アプリ側で行っているリダイレクト処理は一旦止めたのですが、
その場合、HTTPアクセスでLBサーバを叩くと、そのままHTTPアクセスでwebサーバにきてしまいます(少なくともURLはHTTPになってしまいます)
himazin.blmさんの回答の参考リンクから、以下の設定を試していますが、それでもリダイレクトループが発生してしまいます。
<VirtualHost *:80> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Port} !^443$ RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent] </VirtualHost>
回答1件
あなたの回答
tips
プレビュー