Computer >> 컴퓨터 >  >> 문제 해결 >> 브라우저

크롬 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY 오류 해결 방법 총정리

HTTPS로 구성된 CA 서버에 크롬(Chrome)으로 접속하려고 할 때마다 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY 오류가 발생한다면, 대부분 보안 설정 문제를 겪고 있을 가능성이 높습니다. 특히 이 오류는 Windows Server 환경에서 자주 나타나는 것으로 알려져 있습니다.

이 문제를 면밀히 조사한 결과, 해당 오류의 원인은 하나가 아니라 여러 가지일 수 있다는 사실을 확인했습니다.

오류의 주요 원인

Windows 또는 Windows Server 환경에서 이 오류를 유발할 수 있는 주요 원인은 다음과 같습니다.

  • 구버전 크롬 사용 – 대부분의 사례에서 CA 서버 연결에 필요한 보안 메커니즘을 갖추지 못한 오래된 크롬 버전을 사용할 때 이 문제가 발생합니다. 이 경우 최신 버전으로 업데이트해야 합니다.
  • 브라우저 쿠키 충돌 – HTTPS를 통해 CA 서버에 접속할 때 일부 손상된 쿠키가 이 오류를 일으킬 수 있습니다. 대부분의 경우 브라우저 쿠키를 삭제하거나 시크릿 모드를 사용하면 해결됩니다.
  • Windows Server의 약한 암호화 스위트(Weak Cipher) 사용 – Windows Server가 약한 암호화 스위트를 사용하고 있어서 크롬이 이런 오류를 표시하는 경우도 흔합니다. 이때는 IISCrypto 같은 유틸리티로 안전하지 않은 프로토콜과 약한 암호화 스위트를 정리해야 합니다.
  • HTTP/2 활성화 상태 – HTTP/2는 보안에 유리하지만 훨씬 엄격한 요구 사항을 요구합니다. Windows Server 2016은 HTTP/1.1로 폴백(fallback)하는 과정에서 이 오류를 유발할 수 있으며, 이 경우 HTTP/2를 완전히 비활성화하는 것이 해결책입니다.

각 원인별 검증된 해결 방법을 아래에서 순서대로 확인해 보세요.

방법 1. 크롬 쿠키 삭제하기

잘못 저장된 쿠키 하나만으로도 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY 오류가 발생할 수 있습니다. Windows Server 환경에서 HTTPS로 CA 서버에 접속할 때 이 메시지가 뜨는 경우는 드물지 않습니다.

다행히 쿠키가 원인인지 확인하는 방법은 간단합니다. 바로 시크릿 모드로 동일한 접속을 시도해 보는 것입니다.

크롬을 열고 우측 상단의 점 세 개(⋮) 메뉴 버튼을 클릭한 후 새 시크릿 창을 선택하세요.

시크릿 창에서 동일한 서버에 접속했을 때 오류가 사라졌다면, 쿠키 문제임이 확실합니다. 이 경우 아래 단계에 따라 해당 쿠키만 제거하면 됩니다.

참고: 시크릿 모드에서도 동일한 오류가 발생한다면 아래 단계를 건너뛰고 다음 방법으로 넘어가세요.

  1. 크롬을 열고 상단 주소창에 오류가 발생하는 페이지 주소를 입력해 접속합니다.
  2. 오류 메시지가 표시되면 주소창 안의 자물쇠 아이콘을 클릭합니다.
  3. 열린 메뉴에서 쿠키 및 사이트 데이터 항목을 클릭합니다.
  4. 쿠키 목록에서 허용됨 탭을 선택한 후, 목록에 있는 각 쿠키를 선택하고 삭제를 클릭해 제거합니다.
  5. 손상 가능성이 있는 쿠키를 모두 삭제했다면 브라우저를 재시작하고 문제가 해결되었는지 확인합니다.

그래도 동일한 오류가 계속 발생한다면 다음 방법을 시도해 보세요.

방법 2. 구글 크롬 최신 버전으로 업데이트하기

가장 먼저 확인할 것은 최신 공식 버전의 크롬을 사용하고 있는지 여부입니다. 특히 Windows Server 환경에서 HTTPS로 구성된 CA 서버에 접속할 때 문제가 발생한다면 더욱 중요합니다.

이 오류가 나타나는 이유는 현재 사용 중인 크롬 버전에 아직 반영되지 않은 보안 메커니즘이 있기 때문인 경우가 많습니다. 실제로 동일한 문제를 겪던 여러 사용자들이 크롬을 최신 버전으로 업데이트한 후 문제가 완전히 해결되었다고 보고했습니다.

다만 Windows Server에서는 자동 업데이트 기능이 불안정하게 작동할 수 있으므로, 기존 크롬을 완전히 제거하고 잔여 파일까지 정리한 뒤 최신 빌드를 새로 설치하는 것을 권장합니다.

  1. Windows 키 + R을 눌러 실행 창을 엽니다. 'appwiz.cpl'을 입력하고 Enter를 눌러 프로그램 및 기능 창을 실행합니다.
  2. 프로그램 목록에서 Chrome을 마우스 우클릭한 후 제거를 선택합니다.
  3. 화면의 안내에 따라 제거 과정을 완료합니다.
  4. 제거가 끝나면 PC를 재부팅하고 시작이 완료될 때까지 기다립니다.
  5. 다시 Windows 키 + R로 실행 창을 열고 '%localappdata%'를 입력한 후 Enter를 눌러 로컬 임시 파일 폴더를 엽니다.
  6. Local 폴더에서 Chrome 폴더를 우클릭하고 삭제를 선택해 기존 설치가 남긴 임시 파일을 모두 제거합니다.
  7. 로컬 캐시 폴더를 정리했다면, 구글 크롬 공식 다운로드 페이지에 접속해 최신 버전을 내려받습니다.
  8. 설치 파일을 실행하고 UAC(사용자 계정 컨트롤) 창에서 를 클릭한 후 화면 지시에 따라 설치를 완료합니다.
  9. 설치가 완료되면 브라우저를 열고 이전에 오류가 발생했던 작업을 다시 수행해 문제가 해결되었는지 확인합니다.

문제가 지속된다면 다음 방법으로 넘어가세요.

방법 3. HTTP/2 비활성화 또는 약한 암호화 스위트 제거하기

IIS 웹 서버에서 Windows Server로 업그레이드한 직후 크롬에서 이 오류가 나타난다면, Windows Server가 기본적으로 HTTP/2를 활성화하고 지원되지 않을 경우 구버전인 HTTP/1.1로 폴백하기 때문일 가능성이 큽니다.

보안 측면에서는 좋지만, HTTP/2는 HTTP/1.1보다 훨씬 엄격한 요구 사항을 갖습니다. 특히 Windows Server 2016은 서버가 HTTP/2가 지원하지 않는 약한 SSL 암호화로 구성되어 있어도 브라우저와 HTTP/2 세션을 맺으려고 시도하는 것으로 악명이 높습니다.

이런 상황이라면 두 가지 해결 경로가 있습니다.

  1. 약한 암호화 스위트 비활성화
  2. Windows Server에서 HTTP/2 비활성화

두 시나리오 모두 아래에서 자세히 안내해 드리겠습니다. 자신의 상황에 맞는 가이드를 따라 하세요.

3-1. 약한 암호화 스위트 비활성화하기

암호화 스위트를 수동으로 비활성화할 수도 있지만, IISCrypto라는 유틸리티를 활용하면 훨씬 간편합니다.

IISCrypto 3.0 버전에서는 'Best Practices' 버튼을 클릭하는 것만으로 안전하지 않은 프로토콜과 약한 암호화 스위트를 한 번에 비활성화할 수 있습니다.

왼쪽 세로 메뉴에서 Cipher Suites를 선택한 후 Best Practices 버튼을 클릭하세요.

이후 Apply를 눌러 변경 사항을 적용하고, Windows Server를 재부팅해야 변경 사항이 적용됩니다.

참고: 숙련된 Windows Server 관리자라면 IISCrypto에서 암호화 스위트를 직접 세부 조정할 수도 있습니다.

3-2. Windows Server에서 HTTP/2 비활성화하기

HTTP/2를 비활성화하는 것이 감수할 만한 절충안이라고 판단되면, 레지스트리 DWORD 값 두 개만 추가하면 됩니다.

이 수정을 적용할지 여부는 사용 환경과 HTTP/2 비활성화가 영향을 미치는 프로토콜의 범위에 따라 결정해야 합니다.

적용하기로 했다면, 관리자 권한의 메모장으로 .reg 파일을 만드는 것이 가장 간단한 방법입니다. 아래 지침에 따라 Windows Server 2016에서 HTTP/2를 비활성화하는 .REG 파일을 생성하세요.

  1. Windows 키 + R을 눌러 실행 창을 엽니다. 'notepad'를 입력한 후 Ctrl + Shift + Enter를 눌러 관리자 권한으로 메모장을 실행합니다.
  2. 메모장에 아래 코드를 그대로 붙여넣습니다.
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
    "EnableHttp2Tls"=dword:00000000
    "EnableHttp2Cleartext"=dword:00000000
  3. 코드를 붙여넣은 후 상단 메뉴에서 파일 → 다른 이름으로 저장을 클릭합니다.
  4. .REG 파일을 저장할 적절한 위치를 선택하고, 파일 형식모든 파일로 변경합니다.
  5. 파일 이름을 지정하되 반드시 확장자가 .reg로 끝나도록 합니다. 준비가 되면 저장을 클릭해 .REG 파일을 생성합니다.
  6. 생성된 .reg 파일을 우클릭하고 관리자 권한으로 실행을 선택합니다.
  7. 확인 창에서 를 클릭해 방금 만든 스크립트를 실행합니다.
  8. 변경 사항을 적용하기 위해 Windows Server를 재부팅한 후, 크롬으로 돌아가 오류가 여전히 발생하는지 확인합니다.

참고: 나중에 HTTP/2를 다시 활성화하고 싶다면 해당 레지스트리 키 위치로 돌아가 값을 0에서 1로 변경하면 됩니다.