web-dev-qa-db-ja.com

Cloudflareとnginx:リダイレクトが多すぎる

NGINXとcloudflareをセットアップしようとしています。 Googleでこれについて読んだことがありますが、私の問題を解決できるものはありませんでした。クラウドフレアは現在アクティブです。 cloudflareのすべてのページルールを削除しましたが、以前はHTTPSを使用するdomain.comとwww.domain.comがありました。これが問題を引き起こしている可能性があると思ったため、削除しました。これは私のdefault NGINXファイルです。ドメイン名によるアクセスのみを許可し、WebサイトのIP値によるアクセスを禁止することを目的としています。

server{

  #REDIRECT HTTP TO HTTPS

  listen 80 default;
  listen [::]:80 default ipv6only=on; ## listen for ipv6
  rewrite ^ https://$Host$request_uri? permanent;

}

server{

  #REDIRECT IP HTTPS TO DOMAIN HTTPS       

    listen 443;
    server_name numeric_ip;
    rewrite ^ https://www.domain.com; 

}

server{

  #REDIRECT IP HTTP TO DOMAIN HTTPS

    listen 80;
    server_name numeric_ip;
    rewrite ^ https://www.domain.com;

}

server {

         listen 443 ssl;
         server_name www.domain.com domain.com;
         #rewrite ^ https://$Host$request_uri? permanent;
         keepalive_timeout 70;

         ssl_certificate     /ssl/is/working.crt;
         ssl_certificate_key /ssl/is/working.key;

         ssl_session_timeout 1d;
         ssl_session_cache shared:SSL:50m;

         #ssl_dhparam /path/to/dhparam.pem;

         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM$
         ssl_prefer_server_ciphers on;

         add_header Strict-Transport-Security max-age=15768000;

         (...) more ssl configs

何がオフになる可能性がありますか?必要に応じて、mroe情報を提供します...

19
Fane

試した結果、これはCloudflareにのみ関連していることがわかりました。 Coudflareに移行する前にリダイレクトの問題がなかったからです。

私の場合、このような単純な修正でした。 [暗号化]ボックスを選択し、画像のように[完全(厳密)]を選択します。

enter image description here

実際、他のアクションを実行する前に、これを最初に試すことができます。

55
prosti

暴走リダイレクトに関するこれらの質問は常に出てくる!

通常、問題は 301 Moved Permanently レスポンスは、ブラウザ内に「永久に」キャッシュされることが多く、多くの場合、 CtrlR また CtrlShiftR そこから、キャッシュ全体をクリアする必要はありません。 (これは私がよく好む理由の1つです 302 Found / 302 Moved Temporarily 代わりに、特に開発段階では、302応答は通常、デフォルトではまったくキャッシュされません。)

さらに、過去にHSTSを使用していて、内部でブラウザによって正常に取得され、静かにインストールされ、明示的にクリアも期限切れもされなかった場合、ブラウザはhttp://ポリシーがクリアされない限り、すべてのリクエストは常にhttps://

CloudFlareをミックスに入れることに関しては、IPアドレスが隠されているはずなので、そもそも非常に多くの異なるサーバー定義とリダイレクトを持つ必要性を軽減しませんか?おそらくあなたのIPアドレスをCloudFlareの背後に隠すのが良いのかどうかはわかりませんが、グローバルなインターネットスキャンを行っている人のために提供するドメイン名を公然と明らかにします。

CloudFlareが提供するすべての「SSLモード」を既に実行したので、301 permanentリダイレクトをすべて302一時redirectsに変更することをお勧めします(これらのすべてを完全に削除しない場合最初の場所)、ブラウザのキャッシュをクリアしてから、sslオプションをもう一度回してみてください。 :-)

14
cnst

[ページルール]セクションに移動し、「常にhttpsにリダイレクトする」ルールがあるかどうかを確認します。デフォルトで持っていました。

2