LoginSignup
1
0

More than 5 years have passed since last update.

netscaler LBにおいてサーバを使わずにリダイレクトする

Posted at

これは何

netscaler LBにおいて特定FQDNへのアクセスをパスそのままで他のFQDNにリダイレクトする方法についてまとめる。
この資料は NetScaler version 11.0 で実験した動きを元に書いています。

参考資料

https://support.citrix.com/article/CTX120664
大体これを読めばできるが以下の問題があった(この資料を作るモティベーション)

  • LoadBalancing Virtual Server の設定のところがServiceと書いてあり誤植と思われる
  • 設定箇所の階層が書いておらず多少読みづらい
  • LoadBalancing Virtual ServerにGlobal IPを設定するパターンしか書かれていない

手順

System設定でresponderの有効化

NetScaler -> System -> Settings -> Configure Acvanced Features

responder にチェックを入れる。

Responder Actionの設定をする

  • Addする(既存のActionを選択してAddするとそれをテンプレートとして使うことになる。最初から作るなら選択を外してAddする)
  • TypeはRedirectを選択
  • Expression
    例1) http->httpsにリダイレクトするなら、スキーマのところだけhttpsと書いて後は同じ
"https://" + HTTP.REQ.HOSTNAME.HTTP_URL_SAFE + HTTP.REQ.URL.PATH_AND_QUERY.HTTP_URL_SAFE

例2) 特定の別のドメインにリダイレクトする

"http://piyo.jp" + HTTP.REQ.URL.PATH_AND_QUERY.HTTP_URL_SAFE

補足: L7で http://hoge.jp/fuga などで入ってきたLoadBalancing Virtual Server経由でこのactionで http://piyo.jp/fuga に飛ばすイメージ

* Response Status Code を設定する デフォルト 302

Responder Policy の設定をする

  • さっきのActionを設定する 
  • Undefined-Result ActionをRESETにする
    • tcp handshake の rst に対応すると思われる。dropとするとクライアント側はそのまま待ち状態になってしまう。
  • Expressionには HTTP.REQ.IS_VALID を設定(frequently Userd Expressionから選択すると良い)
    • 要するにこのpolicyでは特に何もせずに(validかチェックだけして)actionへ流すという意味か

monitor 設定をする

localhost に pingをうつmonitor設定を作る

  • name: localhost_ping
  • Type: PING
  • destination ip: 127.0.0.1
    • アプライアンスそのものが生きている間はpingが通るので、実質的に常にヘルスチェックOKになる宛先

service を作る

上で作成したmonitorを使って常にserviceがUP状態になるようにする。あくまでダミーで、LoadBalancing Virtual Serverが常にUP状態になるようにするためのものの模様

  • 上記serverを紐付ける
  • ProtocolとPortはHTTPと80とでも適当に設定しておく
  • 作成後、Monitoring設定で先程作成したmonitorを設定し、UP状態になることを確認する

LoadBalancing Virtual Serverを作る

  • IP Address: WebサイトのIPアドレスもしくはPrivate IP
    • Global IPで直接受ける場合にはここに設定
    • Content Switching Virtual Server通すならここはPrivate IPを指定する
  • 作成後Responder Policyを設定

Content Switching Virtual Server 設定

上記でLoadBalancing Virtual ServerにPrivate IPを設定した場合にはContent Switching Virtual Serverのpolicyに紐付ける
この手順はredirector特有というよりもContent Switching Virtual ServerからLoadBalancing Virtual Serverに流す手順と同じなので省略する 

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0