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。