私はそれを設定し、「自動HTTPSリライト」を「オン」に設定しますが、これはhttpを介してページが要求されたときにデフォルトでhttpsにリダイレクトされません... URLにhttpsを入れて手動でページにアクセスしていますいいよ.
これを解決する方法はありますか?
「自動HTTPS書き換え」Cloudflareオプションに問題がある場合は、CFがサイト/リソースがHTTPS対応かどうかを判断できない可能性があります。 自動HTTPS書き換え のCFドキュメントから:
HTTPSがサポートされていないURLを特定するために、特にEFFのHTTPS EverywhereおよびChromeのHSTSプリロードリストのデータを使用します。
すべてのユーザーを無条件でHTTPSにリダイレクトするには、ページルールを作成する方法が推奨されます。 CFサポートドキュメント: すべての訪問者をHTTPS/SSLにリダイレクトする方法
Cloudflareを使用するときに訪問者をHTTPSにリダイレクトする最も効果的な方法は、 ページルール を使用することです。 Originの設定を使用してHTTPSにリダイレクトすることもできますが、ページルールはEdgeで処理されるため、サーバーへの応答が速くなり、リクエストが減少します。
「常にHTTPSを使用する」アクションは、HTTP要求をHTTPSにリダイレクトする最も簡単なオプションです。
次の手順では、 ページルール (301リダイレクトとして動作します)を使用するプロセスについて説明します。
Cloudflareページルール301 HTTPからHTTPSへのリダイレクト
- Cloudflareにログイン
- 左上隅にあるドロップダウンメニューを使用してサイトを選択します
- 画面上部のページルールアイコンをクリックします
- [ページルールの作成]ボタンをクリックします
- Http://*example.com/*と入力しますが、明らかにドメインを変更します。
- [設定は次のとおりです]で[+設定を追加]をクリックします
- ドロップダウンリストをクリックし、[常にHTTPSを使用する]オプションを見つけてクリックします
- 最後に[保存してデプロイ]をクリックします
ただし、多くのユーザーは依然として独自のサーバー構成(つまり、メインサーバー構成、仮想ホスト、または.htaccess
ファイル)とmod_rewrite(Apache)を使用してリダイレクトを実行します。ただし、CFの「Flexible SSL」オプションでは、サイトがHTTP経由でCFにコンテンツを提供しているため、通常のHTTPSチェックを適用できないため、リダイレクトループに注意する必要があります。 (CFの「Flexible SSL」オプションは、CFからサーバーへの接続ではなく、エンドユーザーからCFへの接続を保護するだけです。)
したがって、.htaccess
ファイルの上部近くに次のようなものがあります。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://example.com/$1 [R=301,L]
「Flexible SSL」では、HTTPS
サーバー変数は常にoff
(サイトがHTTP経由でコンテンツを提供しているため)ですが、CloudflareはX-Forwarded-Proto
HTTPリクエストヘッダーをリクエストの通過時に設定する必要がありますCloudflareのサーバー。最初の条件を維持することにより、CFを使用しているかどうかに関係なく機能します。常にプロキシ(CF)の背後にいる場合は、最初の条件を削除できます。
...だからHTSTは本当に素晴らしいアイデアではないようです...
HTTPSにコミットしている場合、HSTSは素晴らしいアイデアです。ただし、これは片道チケットです。 (簡単に)HTTPに戻すことはできません。