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。