CloudFront を使用時、https での通信でも、nginx の $scheme に http が入ってしまっている。 CloudFront-Forwarded-Proto ヘッダーに、original の scheme が入っているので、それを利用する。 CloudFront Whitelist Headers に、CloudFront-Forwarded-Proto を追加。ホワイトリストというよりも、ヘッダーの追加。 Nginx http_cloudfront_forwarded_proto が https であれば、 scheme を上書きして、次に流す。 location / { set $proto $scheme; if ($http_cloudfront_forwarded_proto = "https") { set $proto "https"; } proxy