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函式呼叫中。 - ... 在明確定義的
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。
