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 함수 호출 내부에서.
  • ... Application 클래스의 확장 함수인 명시적으로 정의된 module 내부에서.
kotlin
kotlin

HSTS 플러그인은 특정 경로에 설치할 수도 있습니다. 이는 다른 애플리케이션 리소스에 대해 다른 HSTS 구성이 필요한 경우 유용할 수 있습니다.

HSTS 구성

HSTSHSTSConfig를 통해 설정을 노출합니다. 아래 예시는 클라이언트가 호스트를 알려진 HSTS 호스트 목록에 유지해야 하는 기간을 지정하기 위해 maxAgeInSeconds 속성을 사용하는 방법을 보여줍니다:

kotlin
install(HSTS) {
    maxAgeInSeconds = 10
}

withHost를 사용하여 다른 호스트에 대해 다른 HSTS 구성을 제공할 수도 있습니다:

kotlin
install(HSTS) {
    maxAgeInSeconds = 10
    withHost("sample-host") {
        maxAgeInSeconds = 60
        includeSubDomains = false
    }
}

전체 예시는 여기에서 찾을 수 있습니다: ssl-engine-main-hsts.