Server Plugin
HSTS
所需依賴項:io.ktor:ktor-server-hsts
程式碼範例: ssl-engine-main-hsts
原生伺服器支援: ✅ Ktor 支援 Kotlin/Native,可讓您在沒有額外運行時或虛擬機器的情況下運行伺服器。
HSTS 外掛會根據 RFC 6797 將所需的 HTTP 嚴格傳輸安全性 標頭添加到請求中。當瀏覽器收到 HSTS 策略標頭時,它在指定期間內不再嘗試使用不安全的連線連接到伺服器。
請注意,HSTS 策略標頭在不安全的 HTTP 連線下會被忽略。為了讓 HSTS 生效,它應該透過安全連線提供服務。
添加依賴項
為了使用 HSTS
,您需要將 ktor-server-hsts
artifact 包含在建置腳本中:
Kotlin
Groovy
XML
安裝 HSTS
為了將 HSTS
外掛[安裝](#install)到應用程式中,請將其傳遞給指定
模組
中的 模組允許您透過分組路由來組織應用程式。
install
函數。下面的程式碼片段展示了如何安裝 HSTS
... - ... 在
embeddedServer
函數呼叫中。 - ... 在明確定義的
module
中,該module
是Application
類別的擴充函數。
kotlin
kotlin
HSTS
外掛也可以[安裝](#install-route)到特定路由。如果您需要針對不同的應用程式資源使用不同的 HSTS
配置,這可能很有用。
配置 HSTS
HSTS
透過 HSTSConfig 公開其設定。下面的範例展示了如何使用 maxAgeInSeconds
屬性來指定客戶端應將主機保留在已知 HSTS 主機清單中的時間長度:
kotlin
install(HSTS) {
maxAgeInSeconds = 10
}
您還可以針對不同主機提供不同的 HSTS 配置,使用 withHost
:
kotlin
install(HSTS) {
maxAgeInSeconds = 10
withHost("sample-host") {
maxAgeInSeconds = 60
includeSubDomains = false
}
}
您可以在這裡找到完整的範例:ssl-engine-main-hsts。