HSTSとは
Hypertext Strict Transport Securityの略。2012年、RFC6797で制定されたWebブラウザに対してTLSの使用を強制する仕組みのことです。
NginxでHSTSを設定するには
HSTSを設定するのは、 Strict-Transport-Security
というヘッダを返すようにする必要があります。
このヘッダは以下の要素から構成されます。
max-age
HSTSポリシーがキャッシュされる時間を秒単位で指定。この秒数の時間内であれば、ブラウザはキャッシュからポリシーを参照します。
includeSubDomains
HSTSポリシーをサブドメインにも適用するかどうかのフラグです。
preload
特定のサイトをあらかじめ https://hstspreload.org のリストに追加しておくと、初回アクセスからhttpsにリダイレクトされるようになる機能がありますが、
このHSTS Preload Listを参照するかどうか決めるフラグです。
このリストに登録されていないFQDNは、初回アクセス時にhttpでアクセスした後httpsに切り替えます。
登録しておくと初回アクセス時からhttpsでアクセスされます。
nginx.conf設定
至極簡単で、ディレクティブに
server {
add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload';
}
このように指定します。