Skip to content
Server Plugin

HSTS

必須の依存関係: io.ktor:ktor-server-hsts

コード例: ssl-engine-main-hsts

Nativeサーバー
KtorはKotlin/Nativeをサポートしており、追加のランタイムや仮想マシンなしでサーバーを実行できます。
のサポート: ✅

HSTS プラグインは、RFC 6797 に従って、必要な HTTP Strict Transport Security ヘッダーをリクエストに追加します。ブラウザがHSTSポリシーヘッダーを受信すると、一定期間、安全でない接続を使用してサーバーに接続しようとしなくなります。

HSTSポリシーヘッダーは、安全でないHTTP接続経由では無視されることに注意してください。HSTSを有効にするには、セキュアな接続経由で提供される必要があります。

依存関係の追加

HSTS を使用するには、ビルドスクリプトに ktor-server-hsts アーティファクトを含める必要があります。

Kotlin
Groovy
XML

HSTS のインストール

HSTS プラグインをアプリケーションにインストールするには、指定された

モジュール
モジュールを使用すると、ルートをグループ化することでアプリケーションを構造化できます。
内の install 関数に渡します。 以下のコードスニペットは、HSTS をインストールする方法を示しています...

  • ... embeddedServer 関数の呼び出し内。
  • ... 明示的に定義された moduleApplication クラスの拡張関数)内。
kotlin
kotlin

HSTS プラグインは、特定のルートにインストールすることもできます。 これは、アプリケーションのリソースごとに異なる HSTS 設定が必要な場合に便利です。

HSTS の設定

HSTSHSTSConfig を通じて設定を公開します。以下の例では、maxAgeInSeconds プロパティを使用して、クライアントが既知のHSTSホストのリストにホストを保持する期間を指定する方法を示しています。

kotlin
install(HSTS) {
    maxAgeInSeconds = 10
}

また、withHost を使用して、ホストごとに異なるHSTS設定を提供することもできます。

kotlin
install(HSTS) {
    maxAgeInSeconds = 10
    withHost("sample-host") {
        maxAgeInSeconds = 60
        includeSubDomains = false
    }
}

完全な例はこちらにあります: ssl-engine-main-hsts