NginxでSSLの設定でredirect loopが起きる

以下の記事で解決策が。

リダイレクトループが起こり、上手くNGINXのセットアップが出来ない(修正) | Lunasysはうす

読んでいると、なるほど、CloudFlareにも触れられていたのでCDNも考慮しないといけないのか。

ということでリダイレクトのところで$http_x_forwarded_protoをみてからリダイレクトするように変更。

location / {
  if ($http_x_forwarded_proto = "http") {
    return 301 https://$host$request_uri;
  }
}

CloudFlareのSSLの設定はFullにしておきました。