아래 게시물은 2016년 정도부터 각 인증서 발급 기관별로 기능을 추가하여 현재는 모두 정상적으로 작동함을 다시 알립니다.^^
- 2019년 1월 16일
일반적으로 http 통신을 이용하는 도메인은, http://www.example.com 과 같은 형식으로 나타낼 수 있다.
설정에 따라 example.com 으로만 접속해도 같은 결과를 볼 수도 있다.
하지만 SSL/TLS 보안서버를 구축하고 나면 https 통신을 해야 하고, http 요청 또한 https 로 전환을 해주어야 한다.
https://www.example.com 만을 필요로 하는 나를 힘들게 한건 바로 https://example.com 과 같은 식의 URL 요청이다.
대부분 *.example.com 같은 도메인으로 인증서를 발급하기 때문에, 2차 도메인을 제외한 example.com 을 별도로 구매하지 않았다면
https://example.com 식의 URL 로 접근할 경우, 보안 인증서에 문제가 있다는 브라우저 경고를 만나뵐 수 있다.
서버로의 진입점에서 바로 경고가 발생한 것이므로, 소스에서 자바스크립트나 meta 태그, 각종 프레임워크 등을 이용한 리다이렉션 하는 등의 뻘짓은 무의미하다.
내가 한 회심의 뻘짓은 바로 rewrite 를 이용한 것이었다. 안될 줄 알았지만 혹시나 한번 해봤다ㅋ
Apache 에서는 많이 사용해 봤지만 Tomcat 에서는 처음이라 기록해 본다.
우선 server.xml 의 <host> 나 context.xml 파일에 아래 지시자를 넣는다.
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" /> | cs |
그리고 어플리케이션의 /WEB-INF 디렉토리 안에 rewrite.config 파일을 넣고 rewrite 명령어들을 이용해서 리다이렉션을 구성한다.
RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}$1 [R=301,L] | cs |
짠~
이것은 요청 URL 이 example.~~~ 로 시작한다면 앞에 https://www. 을 URL 앞에 붙여 리다이렉트 시키는 명령문이다.
따라할 필요는 없다. 어짜피 경고는 그대로 나타나니까. 더 앞 단에 뭔가를 해줘야 하는데 난 모르겠다.
위의 오류를 발생시키지 않기 위한 방법?? 그냥 깔끔하게 돈 더 내고 인증서에 도메인 하나 더 추가하는 것이다ㅋ
IE 나 파폭에서 https://naver.com 을 들어가보라
네이버도 경고 뜬다...ㅋㅋ
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.