F5のSSLアクセラレータBIG-IPのiruleについて
iruleの記法って、サポートに問い合わせても合ってるとか教えてくれないんですよね。サポート外って。。。なので、今後何か新しいことをやるたびにメモとして残しておく。
困ってる人への光となれ。(そんな聖人君子じゃないw)
※サムネのURL-routingっていう言い方が合ってるかどうかは知りませんorz
やりたいこと
- 構成補足
- BIG-IPのSSLアクセラレータでHTTPSを終端し、サーバにはHTTPで通信を行う
- 正式に発効されたサーバ証明書のプロファイルに、クライアント証明書を追加しセキュリティを上げる
- https://hogehoge.piteki.com/
- 誰でもアクセス可
- https://hogehoge.piteki.com/secure/
- クライアント証明書のインストールされたPCのみアクセス可
URI毎に振り分けるpoolを変えたい場合のirule
- 構成図
- irule
when HTTP_REQUEST {
## set default pool
pool main-pool
if { [HTTP::path] starts_with "/japan/events/" } {
pool sub-pool_japan_events
} elseif { [HTTP::path] starts_with "/korea/events/" } {
pool sub-pool_korea_events
} elseif { ([HTTP::path] starts_with "/japan/") ||
( [HTTP::path] starts_with "/korea/" ) ||
( [HTTP::path] starts_with "/china/" )} {
pool sub-pool_country
} else {
pool main-pool
}
}
上記の環境で一部だけsorryページにリダイレクトさせる
- 構成図
- irule
when HTTP_REQUEST {
## set default pool
pool main-pool
if { [HTTP::path] starts_with "/japan/events/" } {
pool sub-pool_japan_events
} elseif { ([HTTP::path] starts_with "/japan/") ||
( [HTTP::path] starts_with "/korea/" ) ||
( [HTTP::path] starts_with "/china/" )} {
HTTP::respond 302 Location https://sorry.piteki.com
} else {
pool main-pool
}
}
コメント