だるろぐ

だるいぶろぐです

F5配下のサーバにhttps通信するときの注意点

F5配下に置いてあるサーバにhttps通信をしたい。
大体2パターンある。

  • クライアント〜インターネット〜F5まではhttpsで、F5からサーバまではイントラネットでhttp
    • サーバでは80だけをlistenし、証明書はF5が持つ
  • クライアントからサーバまで全部https
    • サーバでは80/443をlistenし、証明書も持っている

ところでF5にはHTTP Profileのx-forwarded-https_profileの設定で、X-Forwarded-HTTPS:OnというHTTPヘッダを付ける事ができるようで。
これは前者にて用いられる。受ける通信は全てhttpなので、サーバがリクエストを受けたとき、果たしてこの通信はhttpsだったのかどうなのか知る術が無い。なので、この値を頼りにhttps通信だったかどうかを判断する。
だがこの設定がされると、parentに問答無用でhttpで通信するらしい。
なので、先程のパターンで前者を採用した時にこの設定をすると、
「F5で443への疎通設定は出来ているのに、ローカルで curl -k https://localhost/ すると200 OKなのに、外部からhttpsで叩くと決してサーバにリクエストが届かない」
という状況になるので注意という話。


F5分かりません。