개발용 IIS localhost 사이트에 SSL 인증서 적용하기

웹브라우저의 보안 강화 조치로 인해 http://도메인에서 https://도메인의 컨텐츠로 크로스 사이트 링크를 건다거나 반대의 경우에 대한 차단 정책이 실행되면서 그동안 아무문제 없이 사용하던 많은 서비스들이 이용 불가가 되고 있습니다.

특히 포털이나 커뮤니티 사이트의 사이드바 위치에 아이프레임으로 파서 외부 사이트의 컨텐츠를 보여주던 방식에 여러가지 제약이 생기기 시작했습니다

지금까지는 외부 사이트의 https://도메인 사이트의 컨텐츠를 연결하기 위해 로컬 컴퓨터의 웹서버로 개발을 진행하는데 별문제가 없엇지만 

앞으로는 로컬 컴퓨터에서 테스트를 할 때도 https:// 도메인이어야 외부 https://도메인 사이트의 컨텐츠에 접근이 가능하게 된다는 뜻입니다.

로컬호스트에서 테스트를 하기 위해 별도의 인증서를 발급받거나, 원격의 테스트 서버에 일일이 개발 소스를 업로드해 테스트를 하는 불편함을 줄일 수 있게 

데스크탑용 윈도우 운영체제에서 사용하는 개발용 IIS에는 로컬호스트용 SSL인증서가 사전에 설치되어 있습니다.

IIS관리자의 "서버인증서" 아이콘을 더블클릭해 열어보면 "IIS Express Development Certificate" 라는 로컬호스트(localhost) 용 SSL 인증서가 개발용 IIS 설치시에 함께 생성됩니다.

이 로컬호스트용 인증서는 IIS 설치 시점부터 5년이 유효기간인 인증서로 https:// 사이트를 로컬 컴퓨터에서 개발하는데 매우 유용하게 사용할 수 있습니다.

로컬호스트 인증서를 적용할 개발용 로컬 웹사이트의 사이트 바인딩 대화상자를 열어 호스트 없는 로컬호스트 웹사이트로 443포트 연결 설정을 합니다.

하단 "SSL 인증서" 를 열면 위에서 봤던 "IIS Express Development Certificate"가 보입니다.

이 인증서를 선택하고 적용을 한 후

웹브라우저에서 

https://localhost

로 접속하면 아래처럼 로컬호스트 SSL 인증서를 적용한 개발중인 웹사이트에 SSL 접속을 할 수 있게 됩니다.

단, 크롬 같은 웹브라우저는 유효하지 않은 로컬호스트 인증서는 기본 설정으로 차단하도록 설정되어 있습니다.

로컬호스트 SSL 인증서는 로컬호스트용으로 제공되는 인증서이기 때문에 유효하지 않은 인증서로 인식됩니다.

크롬 웹브라우저 실험실 기능 설정으로 유효하지 않은 로컬호스트 인증서를 사용하도록 옵션을 켤 수 있습니다.

크롬 웹브라우저 URL 입력창에 아래 URL을 입력하면 해당 옵션을 켜게 됩니다.

chrome://flags/#allow-insecure-localhost