Server Plugin
HSTS
必要な依存関係: io.ktor:ktor-server-hsts
コード例: ssl-engine-main-hsts
ネイティブサーバーのサポート: ✅ 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関数呼び出し内で。 - ...
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。
