자기 서명 인증서로 HTTPS 적용해서 위치 정보 사용하기
dev | 2017-03-25
크롬이나 사파리는 HTTPS를 사용하지 않으면 위치 정보(Geolocation)를 사용할 수 없고 파이어폭스도 곧 55에서 동일한 제한을 하게 된다. 클라우드 플레어를 사용하면 간단하게 HTTPS를 적용할 수 있지만 내부망에서 사용하는 도메인도 없는 테스트 서버에는 적용할 수가 없다.
보안 연결을 사용하는 다른 서비스에 빌붙어서 문제를 해결하려고 삽질을 하다가 결국은 안되어서 포기하고 자기 서명 인증서(self-signed certification)를 설치해 보기로 했다. 사실 인증서 설치하고 웹서버 설정하는 일을 한번도 안해봐서 무서워서 시도를 안하고 있었는데 결과적으로 자기 서명 인증서 설치는 매우 쉽고 훨씬 빠르고 안정적으로 문제를 해결할 수 있는 방법이었다.
방법은 디지털 오션에 있는 아파치 + CentOS6 메뉴얼을 보고 그대로 따라했다.
내 경우는 mod_ssl을 설치하려고 하니 yum에 문제가 생겨서 깔려있겠거니 하고 건너뛰었는데 결국 ssl.conf 파일이 없어서 설치를 해야만 했다. Yum이 작동을 안 한 이유를 찾아보니 RPMDB가 깨져서였고 복원하는 글을 참고해서 고쳤다. 중간에 rpm --rebuilddb
를 했는데 시간이 많이 걸려서 '아, 내가 드디어 서버를 망쳤구나.' 싶었는데 다행히 1분정도 기다리니 프롬프트가 나왔다.
아파치를 재기동하고 HTTPS로 접속하면 연결이 안전하지 않다는 화면이 나온다. 공신력있는 인증기관이 아니라 스스로 서명한 인증서를 사용했기 때문인데 테스트 용도이므로 고급을 눌러서 보안 예외에 추가를 해준다. 그러면 도메인없는 서버에서도 HTTPS를 이용해 데이터를 암호화 할 수 있고 위치 정보도 사용할 수 있게 된다.
Comments