ブラウザにURLを入力すると、デフォルトでHTTPが使用されますが、サーバーがHTTPSのみをサポートしている場合、ユーザーが気付かないうちにトラフィックは自動的にhttpsにリダイレクトされますか?
私は正しいですか?
間違っている場合は修正してください。
いいえ、現時点では、主要なブラウザがHTTPSに自動的にリダイレクトすることはありません。
ウェブサイトは HSTSヘッダー を設定して、将来のリクエストに対して自動的にHTTPSにリダイレクトする必要があることをブラウザーに通知するか、または HSTSプリロードリストに登録する を設定でき、ユーザーはブラウザープラグインをインストールできます常にHTTPSをロードする ホワイトリストに基づく または 常にHTTPSを最初に試す です。これらはすべてオプトインであり、Webサイトまたはユーザーはブラウザーにこれを実行させるために何かを行う必要があります。デフォルトの構成では、ユーザーまたはWebサイトによる明示的なアクションがなければ、主要なブラウザーは自動的にHTTPSを使用しません。
番号。
HTTPトラフィックをHTTPSに明示的にリダイレクトする必要があります。これには、HTTP 301
ステータスコードとhttps://
で始まるロケーションヘッダーを返すルールでWebサーバーを構成する必要があります。
したがって、たとえばNginxでは次のように記述します。
server {
listen 80;
server_name my.domain.com;
return 301 https://$server_name$request_uri;
}
さらに、HTTPSポートで受信する要求の応答にHttp Strict Transport Security(HSTS)ヘッダーを追加できます。これにより、ブラウザはすべての後続のリクエストをHTTPSポートに送信します。
ここでも、Nginxでは次のようにします。
server {
listen 443 ssl;
server_name my.domain.com;
add_header Strict-Transport-Security "max-age=31536000";
}
一部のWebサイトでは[〜#〜] hsts [〜#〜]( https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security )これは基本的にあなたが言っていることを行います。ユーザーがランダムな http://example.com にアクセスしようとすると、HSTSはリクエストを https://example.com に変換しますが、ウェブサイトは正しく機能するための有効な証明書。