検討!目論見検討委員会

最近はコミケの締切情報メイン

ロードバランサー配下で特定のサーバへリダイレクトする方法(案)

問題

  • ロードバランサー配下でhttpのリダイレクトをかけると、ロードバランスされた他のサーバへアクセスが行ってしまう
  • 特定のサーバへアクセスがあった場合、そのサーバへもう一回リダイレクトして欲しいとき、どうするか

前提

注:下記に書いた方法について、まだ試していないので、やってみたらダメかもしれない

  • 上記図では、「サーバA」でhttpのステータスコード307(Temporary Redirect)や301(Moved Permanently)を返し、次にアクセスされるのはサーバBにアクセスが行ってしまう可能性が高い
  • リダイレクトする分、通信が余計に発生する

解決の糸口

  • リダイレクトをしない
  • リクエストを受けた「サーバA」でごにょる。その結果をユーザに返す

方法1

  • mod_proxy(リバースプロキシ)を使う
  • こんな感じ:
ProxyPass /aaa http://localhost/bbb

方法2

RewriteRule ^/aaa/(.*)$ http://localhost/bbb/$1 [L]

方法3

  • サーバの中でhttpのアクセスを生成(curlなど)して、その結果を返す

最後に

  • ツッコミ歓迎
  • ふつーにネットに解決案が転がってそうな気がする
  • もう眠い