본문 바로가기
Server/Tomcat&Nginx 외

[Resin] SSL설정 https 호출오류 - java.lang.UnsatisfiedLinkError : com.caucho.vfs.JniSocketImpl.getSslProtocol(J)Ljava/lang/String

by 나비와꽃기린 2019. 12. 31.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

가상화 테스트서버 구축 시, resin을 설치했다.

테스트서버라 SSL설정을 안 해놨었는데 제품팀에서 제품인증시 SSL로 테스트를 해봐야 한다고 해서

SSL설정 요청을 해왔다. 

 

급하게 SSL설정을 총총..

 

resin.xml에 http포트 설정 아래에 443 port를 추가하고, ssl 인증서 경로를 작성해준다.

그리고 해당 경로에 인증서파일 넣기

      <!-- The http port -->
      <http address="*" port="80">
        <keepalive-timeout>15s</keepalive-timeout>
        <keepalive-select-enable>false</keepalive-select-enable>
      </http>
	<!--443 PORT 추가-->
    <http port="443">
		<openssl>
          <cipher-suite>ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL</cipher-suite>
          <certificate-file>파일위치</certificate-file>
          <certificate-key-file>파일위치</certificate-key-file>
          <ca-certificate-file>파일위치</ca-certificate-file>
          <protocol>-ALL -sslv3 +tlsv1</protocol>
          <password></password>
		</openssl>
	</http>

 

그리고 Resin 기동 후, https로 호출을 해봤더니 다음과 같은 오류가 났다.

java.lang.UnsatisfiedLinkError : com.caucho.vfs.JniSocketImpl.getSslProtocol(J)Ljava/lang/String

 

 

해당 오류를 찾아보니 class파일이 없거나, 참조할 라이브러리가 없다거나 하는 오류란다.

JniSoketImpl이 c모듈을 부르는 함수라고 하는 것 같은데..(?)

자바에서 c모듈 호출 시 필요한 lib가 없는 듯 하여..(?)

 

기존 ${RESIN_HOME}\lib 를  ${RESIN_HOME}\lib_bak 으로 백업을 만 든뒤

운영환경에서의 lib 디렉토리를 가져왔다.

 

그리고 https 호출하니 잘 됨!

 

아무래도 새로 추가된 jar나 특정 Binary files가 필요했던게 아닐까 -

어쨌든 해당 오류는 참조오류라는걸 기억하자. 뭔가 누락된거다!