Server Plugin
HttpsRedirect
所需依赖项: io.ktor:ktor-server-http-redirect
代码示例: ssl-engine-main-redirect
原生服务器支持: ✅ Ktor 支持 Kotlin/Native,并允许你在没有额外运行时或虚拟机的情况下运行服务器。
HttpsRedirect 插件会在处理调用之前,将所有 HTTP 请求重定向到其 HTTPS 对应项。默认情况下,资源返回 301 Moved Permanently,但可以配置为 302 Found。
添加依赖项
要使用 HttpsRedirect,你需要将 ktor-server-http-redirect artifact 包含到构建脚本中:
Kotlin
Groovy
XML
安装 HttpsRedirect
要将 HttpsRedirect 插件安装到应用程序, 请在指定的
模块
中将其传递给 模块允许你通过对路由进行分组来组织应用程序。
install 函数。 下面的代码片段展示了如何安装 HttpsRedirect ... - ...在
embeddedServer函数调用内部。 - ...在显式定义的
module中,它是一个Application类的扩展函数。
kotlin
kotlin
上述代码安装了 HttpsRedirect 插件并使用默认配置。
当位于反向代理之后时,你需要安装
ForwardedHeader或XForwardedHeader插件以正确检测 HTTPS 请求。如果你在安装这些插件之一后遇到无限重定向,请查阅此常见问题解答条目以获取更多详细信息。
配置 HttpsRedirect
下面的代码片段展示了如何配置所需的 HTTPS 端口,并为请求的资源返回 301 Moved Permanently:
kotlin
install(HttpsRedirect) {
sslPort = 8443
permanentRedirect = true
}你可以在这里找到完整的示例:ssl-engine-main-redirect。
