Skip to content
Server Plugin

HSTS

必要な依存関係: io.ktor:ktor-server-hsts

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

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

HSTSプラグインは、RFC 6797に従って、必要な_HTTP Strict Transport Security (HSTS)_ヘッダーをリクエストに追加します。ブラウザがHSTSポリシーヘッダーを受信すると、指定された期間、安全でない接続でサーバーへの接続を試みなくなります。

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

依存関係の追加

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

Kotlin
Groovy
XML

HSTSのインストール

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

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

  • ... embeddedServer関数呼び出し内で。
  • ... Applicationクラスの拡張関数である、明示的に定義されたmodule内で。
kotlin
kotlin

HSTSプラグインは、特定のルートにもインストールできます。これは、異なるアプリケーションリソースに対して異なるHSTS設定が必要な場合に役立つ可能性があります。

HSTSの設定

HSTSは、HSTSConfigを介してその設定を公開します。以下の例は、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