web-dev-qa-db-ja.com

HTTPは自動的にHTTPSにリダイレクトしますか?

ブラウザにURLを入力すると、デフォルトでHTTPが使用されますが、サーバーがHTTPSのみをサポートしている場合、ユーザーが気付かないうちにトラフィックは自動的にhttpsにリダイレクトされますか?

私は正しいですか?

間違っている場合は修正してください。

22
kst

いいえ、現時点では、主要なブラウザがHTTPSに自動的にリダイレクトすることはありません。

ウェブサイトは HSTSヘッダー を設定して、将来のリクエストに対して自動的にHTTPSにリダイレクトする必要があることをブラウザーに通知するか、または HSTSプリロードリストに登録する を設定でき、ユーザーはブラウザープラグインをインストールできます常にHTTPSをロードする ホワイトリストに基づく または 常にHTTPSを最初に試す です。これらはすべてオプトインであり、Webサイトまたはユーザーはブラウザーにこれを実行させるために何かを行う必要があります。デフォルトの構成では、ユーザーまたはWebサイトによる明示的なアクションがなければ、主要なブラウザーは自動的にHTTPSを使用しません。

53
Lie Ryan

番号。

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"; 
}
17
user90696

一部のWebサイトでは[〜#〜] hsts [〜#〜]https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security )これは基本的にあなたが言っていることを行います。ユーザーがランダムな http://example.com にアクセスしようとすると、HSTSはリクエストを https://example.com に変換しますが、ウェブサイトは正しく機能するための有効な証明書。

2
lapinousexy