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関数の呼び出し内。 - ... 明示的に定義された
module(Applicationクラスの拡張関数)内。
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
