自サイトをHTTP Strict Transport Security(HSTS)有効化しました。

今流行のHSTSを自サイトにも。

なんぞやとは面倒なので引用。

”’HTTP Strict Transport Security(しばしば HSTS と略されます)は、HTTP の代わりに HTTPS を用いて通信を行うよう、Web サイトからブラウザに伝達するためのセキュリティ機能です。”’

引用元: https://developer.mozilla.org/ja/docs/Web/Security/HTTP_Strict_Transport_Security

nginxの場合はSSL証明書を用意&設定されているのであれば下記の感じでadd_headerするだけです。
とりあえず80も443にリダイレクトしておけばいいんじゃないですかね。(適当)


server {
    listen 80 default;
    server_name サーバ名;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl http2;
    server_name サーバ名;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    ...
}

これで常時SSL化されます。

私の場合SSL証明書はLet’s Encryptを使っているので特にお金もかからないです。

ポイントや注意点をまとめると以下の感じ。

  1. add_header はserverディレクティブの外でもいいのですが他のドメインも管理していると面倒なので中に書いた。
  2. includeSubDomainsオプションを入れるとサブドメインもHSTSになる。
  3. 一度設定してしまうと443リダイレクト設定を切ろうが必ずhttpsに飛んでしまうので注意。

万が一HSTSを戻したかったらヘッダを設定しなおせば大丈夫。

    #add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    add_header Strict-Transport-Security "max-age=0;";

この辺の設定メモもそのうちもっと詳しく書きたい。(多分

 

スポンサードリンク

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL