Skip to content
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