응용 프로그램을 HTTP에서 HTTPS로 이동하는 중입니다. 문제가있는 것 같습니다. 여기JBoss 5.1.0에서 HTTPS 설정하기 GA
는 지금까지 these instructions의 기반으로 무엇을했는지 있습니다 :
- 서버를 호스팅하는 컴퓨터의 호스트 이름을 확인합니다. 이 지침의 로컬 호스트
- jBoss 서버 유형 (모두, 기본값, 프로덕션)을 식별합니다. 이 지침에 대한 ecotrak
- jBoss는 keystore 및 trustore와 동일한 파일을 사용하도록 권장합니다. 이것은 server.keystore가됩니다. 처녀 설치에서는 default/conf 폴더에 server.keystore가 없어야합니다. 가지고있는 경우 삭제할 것인지 (지침 사용) 또는 상황에 맞게 지침을 적용할지 여부를 결정해야합니다.
- 키 저장소 및 개인 키 만들기 :
- 명령 프롬프트 나 셸을 열고 기본/conf 폴더로 이동하십시오.
- keytool -genkey -alias jbosskey -keypass changeit -keyalg RSA -keystore server.keystore
- 프롬프트에 응답하십시오. 성/이름을 물으면 myHostname을 사용하십시오. 이것은 매우 중요합니다.
- server.keystore가 생성됩니다.
- keytool -list -keystore server.keystore
- 목록에 jbosskey라는 PrivateKeyEntry가 있어야합니다.
- 인증서 생성 및 저장.
- 는 키 도구 -export -alias jbosskey -keypass changeit를 -file는 server.crt -keystore server.keystore
- 는 server.crt 생성된다.
- keytool -import -alias jbosscert -keypass changeit -file server.crt -keystore server.keystore
- 키 스토어에 이미 있다는 경고가 표시됩니다. 무시해. 자바가 별도의 키 스토어 및 트러스트 파일을 기대하며 우리는 하나만 사용하기 때문입니다.
- keytool -list -keystore server.keystore
- 목록에 jbosscert라는 TrustedCertEntry가 있어야합니다.
내 서버에 있습니다.XML I는 다음과 같습니다
<!-- SSL/TLS Connector configuration using the admin devl guide keystore-->
<Connector protocol="HTTP/1.1" SSLEnabled="true"
port="8443" address="${jboss.bind.address}"
scheme="https" secure="true" clientAuth="false"
keystoreFile="C:/dev/server/jboss-5.1.0.GA/server/ecotrak/conf/server.keystore"
keystorePass="password" sslProtocol = "TLS" keyAlias="jbosskey" />
나는 내가 가지고있는 서버는 다음 시작할 때 :의
00:09:03,110 INFO [AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\dev\jdk\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\dev\jdk\jre\bin;native
00:09:03,197 INFO [Http11Protocol] Initializing Coyote HTTP/1.1 on http-localhost%2F127.0.0.1-8080
00:09:03,214 INFO [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-localhost%2F127.0.0.1-8009
00:09:03,261 ERROR [Http11Protocol] Error initializing endpoint
java.io.IOException: Cannot recover key
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:456)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:139)
또 다른 섹션
여기call %JBOSS_HOME%\bin\run.bat -c default -b 0.0.0.0 -Djavax.net.ssl.trustStore=C:/dev/server/jboss-5.1.0.GA/server/ecotrak/conf/server.keystore
내가 내 로그 파일에 무엇을 얻을 로그
00:09:03,265 ERROR [AbstractKernelController] Error installing to Start: name=WebServer state=Create
LifecycleException: Protocol handler initialization failed: java.io.IOException: Cannot recover key
at org.apache.catalina.connector.Connector.initialize(Connector.java:1031)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:683)
배포 정보 I 배포 N 오류 :
Deployment "WebServer" is in error due to the following reason(s): LifecycleException: Protocol handler initialization failed: java.io.IOException: Cannot recover key
Deployment "jboss.web:service=WebServer" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.web:service=WebServer' **
여기에 무슨 일이 일어나고 있는지 이상적으로 생각하세요?
업데이트 내 오류를 발견 - 나는 키 스토어와 인증서의 암호를 혼합했다. 수정이 완료되면 이제 HTTPS로 사이트를 실행할 수있게되었습니다.