最近CloudFront配下にアプリケーションサーバーを置くのが徐々に流行ってる気がします。 想定する構成としては、ブラウザが直接叩くのがCloudFrontで、その直下にELB、そのさらに下に直接pumaというような形式。 nginx使わないパターンですね。 assets以下はどのみちCloudFrontでキャッシュされるから、nginxで高速化するまでもないっていうのがこの設計の思想かなと思ってます。 pumaが重くならない程度に同時接続数を制御する役割もELBがになってくれますし。 さて、ともかくそんな構成にすると、SSL対応で手間取ったのでメモ。 バージョンは以下の想定です。 Rails 5.1.2 (4系でも変わらないとは思います) Puma 3.7 困ること 何が困るかというと、CloudFrontでSSL→HTTPに変換して、ELB以降はずっとHTTPで取り回すと、X-For