기본 콘텐츠로 건너뛰기

Tomcat에서 SSL을 사용하는 당신에게 어느날 찾아오는 ssl_error_rx_record_too_long 오류

분명히 당신은 tomcat 5.5 또는 6.0에 SSL을 설치해서, 그것도 사설인증서까지 잘 만들어서 쓰고 있었다.

그러던 어느날, 여느때와 같이 출근해서 톰캣을 올리고 웹브라우저로 접속을 하는 순간 “ssl_error_rx_record_too_long” 라는 오류가 화면아 나타나는 것을 확인하게 된다.

 

당신이 만약 IE 계열을 쓴다면 그냥 화면이 pending되는 현상을 한참 목격했을 것이고, 파이어폭스 유저라면 단방에 ssl_error_rx_record_too_long 오류를 토해내는 화면을 확인했을 것이다.

 

자, 그래서 원인을 찾아보려고 구글에다가 ssl_error_rx_record_too_long 라는 단어를 밀어넣어 본다.

 

99.99% 파이어폭스 플러그인과 관련된 기사다.

 

서너시간을, 아니 어쩌면 톰켓을 다 지우고 JDK까지 지우고 새로 설치했는데도 증상이 없어지지 않아서 하루이틀을 허비했을지도 모른다.

 

그러다 문득 깨닫는다. 얼마전에 톰캣 띄울때마다 뜨는 APR 라이브러리 관련 오류를 없애기 위해서 윈도우(어쩌면 Unix/Linux)용 tcnative-1.dll ( 또는 so ) 를 다운받아서 c:\windows\system32 따위의 디렉토리에 복사해 넣은 적이 있다는 것을. 게다가 윈도우용 tcnative-1.dll은 SSL도 함께 들어가 있다.

 

자 여기서 문제는 그냥 tomcat을 설치했을때를 기준으로 하는 SSL세팅과, 이놈의 tcnative-1의 SSL을 이용하는 경우의 configuration이 다르다는 것이다.

 

Tomcat 6.0 문서를 기준으로 (http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html), JSSE를 이용한 tomcat의 server.xml SSL설정은 다음과 같다.

 

<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector 
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS"/>
-->

 

APR 을 쓴다면

 

<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector 
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="/usr/local/ssl/server.crt" 
           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
           clientAuth="optional" SSLProtocol="TLSv1"/>
-->

 

이렇다.

 

삽질하다 정리차원에서 적는거라 언젠가 다시 한번 테스트해서 올려야겠지만, 일단 가장 먼저 해야 할 일은 tomcat을 내리고 그놈의 tcnative-1.dll 을 삭제한 다음 톰캣을 다시 띄우는 것.

 

원래대로 돌아간 당신의 웹 어플리케이션을 확인할 수 있을 것이다.(아니면 말고 –_-;;)

 

이 글이 당신의 야근/주말 삽질을 종료시켜주는데 기여하길 바라며 이만.

 

-P.S-

내 경우를 이야기하자면 분명 tcnative-1.dll을 windows\system32에도 넣어봤고 tomcat/bin에도 넣어봤으나 tomcat을 띄울때마다 APR이 없다는 메세지가 계속 나왔다. 그리고 한 일주일 다른 프로젝트를 하다가 ( with WindowXP 32bit version + Eclipse 갈릴레오  + WTP ) 다시 해당 프로젝트를 열었을때 문제가 발생했다.

댓글

이 블로그의 인기 게시물

2011년 경부고속도로 버스전용차로 시간대 변경 + 기타 자동차관련

현재 경부고속도로 버스전용차선이 평일은 오전 7시부터 오후 9시까지, 토/공휴일은 오전 9시부터 오후 9시까지인가 운영되고 있는걸로 알고 있습니다만, 2011년 1월 1일부터 이게 바뀌어서 평일/주말 할 것 없이 오전 7시부터 오후 9시까지 운영됩니다.외우기 쉬워서 좋아졌다고 해야 하나... -_-;; 아무튼 그렇습니다. 네네.설/추석 명절때 운행되던 버스전용차선 시간제도 새벽1시부터 7시까진가? 끝나는 시간대는 정확히 모르겠네요.그 외 올해 자동차 관련된 변경사항 몇개가 있어 함께 정리합니다.1. 경차 소유자에 대한 연간10만원의 유류세 환급이 2년 연장되어 2012년까지 제공됩니다. 방법은 기존과 동일한 듯.2. 자동차 전용도로에서 뒷자석 탑승자가 안전벨트를 착용하지 않으면 범칙금 3만원.(자동차 전용도로라 함은 자동차만 다닐 수 있는 최고시속 90km/h 이하의 도로, 올림픽 대로/강변북로/남부순환로/양재대교/서부간선도로/분당내곡도시고속화도로 등등...)3. 날씨에 따른 제한속도 변경(이르면 7월부터 시행예정)현재 도로를 보면 비오면 20% 감속하고 눈오면 50% 감속하고 어쩌고 하는 규정이 있습니다. 네... 대부분의 운전자는 이걸 지키긴 하는데 칼같이 지키는 사람은 없는 것 같고, 고속도로 100km 달리던 사람이 비오면 90km정도로 달리는 정도? 인데 이걸 경찰청에서 날씨에 따라 자동으로 제한속도가 변경되고, 표지판 숫자도 바뀌는 ‘가변제한속도 제도’를 도입하기로 하고 이르면 오는 7월부터 시행예정이라고 합니다.왠지 이렇게 되면, 과속단속 카메라도 자동으로 이 정보에 따라서 과속단속 기준속도를 바꿀 것 같다는 느낌인데.. 어느 지역에서 지금 현재 비나 눈, 또는 안개가 끼이는지 어떻게 정확하게 알고 그걸 단속할 수 있을지 좀 걱정이군요. 예를 들어 터널 A를 지나기 전에는 눈이 오고 있었는데 터널 A를 지나고 나니 도로상태가 아주 양호하더라.. 라는 식이 되면 터널 A전에 있던 카메라는 시속 100km기준으로 50km/h 넘으면 단속되고, 터널 …

한국에서 미국으로 이주시 준비사항(이민/장기출장/기타등등)

아래 내용은 제가 올해 3월에 한국에서 미국 캘리포니아로 이사하면서 만들었던 체크리스트를 약간 손 본 겁니다. 원래는 같이 옮겨오던 직장 동료들과 만들었던 까페에 올렸던 건데 대부분 이사를 완료한 관계로 까페를 폐쇄 예정이라 정보저장/공유를 위해 가져왔습니다.

자동차 관련
* 경찰서(파출소 말고) 가서 영문으로 된 운전경력증명서. 미국 자동차 보험 가입할 때 할인혜택 있음.
* 대학/대학원 전공이 공학(Engineering) 이 들어가 있으면 대학졸업증명서 영문서류 준비.  캘리포니아에서 자동차 보험 가입시 "Engineer" 가 들어간 졸업증명서면 엔지니어 그룹 힐인이 있음.
* 한국에서의 자동차보험 가입증명서(영문)(가입했던 모든 보험사로부터 )
->위 3개로 가입하면 최대 캘리포니아에서 3~4년 운전한 사람이 받는만큼의 할인혜택이 가능한 경우도 있다고 함. 보험사에 따라서 한국운전경력 인정 안해주는 곳도 있음.

* 카페 및 인터넷 검색해서 캘리포니아 운전면허 필기시험 문제 출력 및 공부. 캘리포니아에서는 한글 필기시험을 볼 수 있습니다. 다만 인터넷에 떠도는 문제지의 답이 틀리게 표시된 경우가 많기 때문에 가장 정확하게는 현지에 도착한 이후 DMV에서 무료로 배포하는 운전자핸드북(한글버전 있음)으로 공부를 하거나 혹은 dmv.ca.gov 에서 pdf를 다운로드 받아 이론공부를 좀 하는게 좋습니다.
* 운전면허시험장 가서 국제운전면허 발급받을 것. 캘리포니아 면허 따기 전까지 항상 소지해야 하지만 사실상 이건 한국운전면허의 번역본 개념이라 항상 한국운전면허증/여권 같이 소지할 것.
* 차량 구입예정이면 미리 edmunds.com, truecar.com, kbb.com, carmax.com(중고차) 등에 들러 온라인으로 몇군데 최저 금액을 부르는 들러의 quote를 받아두고, 연락처 챙겨둘 것. down payment할 금액도 챙겨두기. 매월 판매조건 등이 달라지기 때문에 차종만 선택해 놓고 현지에 와서 딜하는게 차라리 더 …

개발자, 영어,  그리고 해외취업. 글쎄 과연 그렇게 호락호락할까?

오랜만에 포스팅하는 글이 영어 관련 쓸데없는 뻘글이라 좀 그렇지만, 페이스북에 적기 시작한 글이 너무 길어져서 블로그에 포스팅하기로 함.


미국에 2011년에 넘어왔으니까 올해로써 이제 미국생활 4년차 들어간다. 처음에 왔을때는 4년정도 여기 있으면 영어는 잘 하겠지라고 했는데 웬걸, 확실히 영어 울렁증은 없어지고 최소한 내가 지금 하려고 하는 말들이 100% 실시간으로 나오긴 하지만 여전히 그 수준은 내가 한국어를 구사하는 수준은 아닌지라 한 단어로 표현이 가능한 복잡미묘한 명사나 동사를 표현하기 위해 쉬운 단어들 몇개를 합쳐서 빙빙 둘러서 설명을 하는 그런 수준. 관심사인 부동산이라든가 게임이라든가 최신개봉 영화 뭐 이런 이야기들은 곧잘 하고 농담따먹기도 잘 하지만, 여전히 미국 문화의 베이스가 없으면 이해하기 어려운 내용들이 많다. 당연히 깨알같은 문법 실수와 관사 생략은 기본.

작년인가 재작년인가 부터 부쩍 한국쪽 개발 커뮤니티나 컨퍼런스에 보면 개발자와 영어를 관련시킨 발표가 많아졌다. 어떤 사람들은 본인의 해외 어학연수 경험을 공유하기도 하고 또 어떤 사람들은 오픈소스 활동 경험을 공유하기도 하고.. 아무튼 기본적으로는 실력만 있으면 영어를 못해도 해외에서 개발자로 일하는데 전혀 문제가 없다라는 글들도 보인다.

물론 미리 겁 집어먹고 도전을 안하는 것도 바람직하진 않겠지만, 글쎄 과연 실력만 있으면 정말 괜찮을까? 개발자로써 상위 10%정도의 실력이라 코드로 진짜 모든 걸 말할 수 있는 수준이라면 가능하다고 생각한다. 영어 관련 개발자 포럼의 글들 보면 그런 댓글들이 많이 보인다. 개발자는 코드로 말한다고. 근데 스스로 그런 수준인가 하는 건 다시 한번 생각해 볼 일이다. 보통 개발자들이 자기는 다른 개발자보다 좀 더 특출나다고 생각하는 경향이 많은데(여기에는 나 자신도 포함되는 듯), 좋든 싫든간에 그들 중 90%는 상위 10%가 아니니까.
바다 건너 이억만리에서 인터넷으로 버그 수정하고 코드 커밋하고 이메일로 비실시간 대화를 할 수 있는 오픈소스…