HTTP Strict Transport Securityの有効化

Estimated reading time: 1 minute

この機能はRFC 6797に従い、 HTTP Strict Transport Security ヘッダーをリクエストに追加する機能です。

HSTSポリシーヘッダーはセキュアでないHTTP接続上では無視されます。HSTSを機能させるためには、セキュアな接続(https)上で配信してください。

ブラウザはHSTSポリシーヘッダーを受け取ると、指定された期間の間セキュアでない接続ではサーバに接続しようとしません。

This feature is defined in the class io.ktor.features.HSTS and no additional artifacts are required.

使い方

fun Application.main() {
  // ...
  install(HSTS) 
  // ...
}

上のコードは、HSTSをデフォルト設定でインストールするコードです。

設定

  • maxAge (デフォルト値は1年): HSTSホストとしてクライアントに記憶させておく期間
  • includeSubDomains (デフォルト値はtrue): ポリシーを適用したいドメインおよびサブドメインを指定
  • preload (デフォルト値はfalse): Webブラウザのpreloading listにドメインを含めることを許可する
  • customDirectives (デフォルト値はempty): 特定のユーザエージェントによってサポートされる任意のカスタムディレクティブ