IIS 10은 HSTS를 활성화한 후 HTTP를 HTTPS로 리디렉션하지 않습니다.

IIS 10은 HSTS를 활성화한 후 HTTP를 HTTPS로 리디렉션하지 않습니다.

우리 사이트를 방문할 때 최종 사용자에게 강제로 HTTPS를 사용하려고 합니다. IIS의 사이트 및 응용 프로그램 수준에서 HSTS를 활성화했습니다. 사이트 수준에서 HTTP 리디렉션을 https://ourdomain.com. 우리 사이트의 홈 페이지를 방문하여 헤더를 볼 수 있지만 에서 Strict-Transport-Security: max-age: XXXX; includeSubDomains로 리디렉션되지 않습니다 .http://internal-hostname/https://ourdomain.com

나는 읽었다IIS 10.0 버전 1709 HSTS(HTTP 엄격한 전송 보안) 지원, 그리고 나는 단계를 올바르게 따랐다고 믿습니다. HSTS를 활성화한 후 HTTP에서 HTTPS로 자동 리디렉션될 것으로 예상했습니다. 나도 읽었어IIS에서 모든 HTTP를 HTTPS로 리디렉션하는 가장 좋은 방법, 그러나 그 질문은 IIS7에 중점을 두었습니다. HSTS 지원과 관련하여 그 이후로 많은 변화가 있었지만 자동 리디렉션에 대한 나의 기대가 틀렸을 수도 있습니다.

시스템 정보:

  • 윈도우 서버 2019(버전 1809)
  • IIS 10.0.17763.1

제가 한:

  1. IIS 구성 관리자를 열었습니다.

  2. "기본 웹 사이트"를 마우스 오른쪽 버튼으로 클릭하고 "웹 사이트 관리"를 선택한 다음 "고급 설정"을 클릭합니다.

  3. 다음 설정을 사용하여 HSTS를 활성화했습니다.

    • 활성화됨: 참
    • includeSubDomains: 참
    • 최대 연령: 31536000
    • 예압: 거짓
    • HTTP를 HTTPS로 리디렉션

    최대 수명 및 리디렉션이 활성화된 HSTS를 보여주는 고급 설정 스크린샷

  4. "확인"을 클릭했습니다.

  5. "기본 웹 사이트"를 클릭하고 "IIS" 섹션에서 "HTTP 리디렉션"을 선택했습니다.

  6. "요청을 이 대상으로 리디렉션"을 선택하고 HTTPS URL(이 특정 웹 서버가 아닌 로드 밸런서임)을 입력했습니다.

    기본 웹 사이트에 대한 IIS HTTP 리디렉션 설정 스크린샷

  7. IIS를 다시 시작했습니다.

  8. 웹 서버에 대한 원격 데스크톱 세션을 사용하는 동안 Microsoft Edge를 열었습니다.

  9. http://internal-hostname/엣지에 다녀왔습니다 .

예상되는 동작:사용자는 로 리디렉션됩니다 https://ourdomain.com.

실제 동작:브라우저가 "403.4 Forbidden" 오류 페이지를 로드했습니다.

Strict-Transport-Security 헤더를 보여주는 개발자 도구가 열려 있는 홈 페이지의 스크린샷

응답에서 예상되는 HTTP 헤더를 받고 있기 때문에 HSTS가 활성화된 것 같습니다. 그러나 다음에 지정된 대로 HTTP에서 HTTPS 1Strict-Transport-Security 로 원하는 리디렉션을 얻지 못하고 있습니다.RFC 6797.


1 좋은 대답은 "HSTS"가 IIS 10의 설익은 솔루션이므로 실제로 HTTP 리디렉션 규칙을 추가해야 한다는 것입니다.

관련 정보