現在クラウドリフトの作業をしていて、ECS(またはEC2)の前段にALBを配置し、ALBをSSLの終端としている。 これはAWSでパブリックなアプリケーションを作成する際によく取られる構成だが、HTTP Strict Transport Security(HSTS)は仕様上HTTPSの経路でのみレスポンスに付与される。 この仕様により、ALBをSSLの終端に設定するとレスポンスにHSTSが付与されない。 この問題を解決するためにはECSに乗せているアプリケーション上で、ALBに到達した際のプロトコルを見るように修正する必要があり、その元のプロトコルがX-Forwarded-Proto (XFP) に入ってくる。 この対応を行う上で調べた内容をメモしておく。