톰캣 구성 HTTPS 요청

HTTP 및 HTTPS의 차이

A, HTTP 하이퍼 텍스트 전송 프로토콜, 정보는 분명, HTTPS는 SSL 보안 전송 프로토콜로 암호화되어 전송된다.

두가, HTTPS 프로토콜은 인증서를 요청하는 CA를 필요로 인증서가 지불하는 무료 필요가 거의 일반적이다.

세, HTTP, 그리고 HTTPS는 포트와 동일하지 않습니다, 완전히 다른 연결을 사용하는 전자는 443 인 80입니다.

네, HTTP 연결 상태가없고, 매우 간단하며 HTTPS 프로토콜 SSL로 구성되어 + HTTP 전송 프로토콜, 네트워크 프로토콜의 인증, HTTP에 비해 보안 프로토콜 암호화.

 

로컬 구성 :

콘솔에 1.Ctrl + R 열기 명령 cmd를 입력;

 

 

 

 2. JDK 설치 디렉토리를 찾아, 내가 예를 가지고 : D : \ 자바 \ jdkbobo \ jdk1.6.0_45 빈 \;

디렉토리를 입력 한 다음 명령을 실행 키 도구 -genkeypair -alias "바람둥이"-keyalg "RSA"를 -keystore "D : \ tomcat.keystore"

 

 

 

 그런 다음 몇 가지 기본 정보를 기입 할 수 있습니다.

 

 

 

 

아래에 간단히 설명한다.

키 스토어 비밀번호 : 123456 (이 암호는 매우 중요하다) 
성과 이름 : 127.0.0.1 (도메인 이름 또는 액세스의 IP 주소 후에는 인증서 및 도메인 이름 또는 IP 바인딩 매우 중요합니다) 
어떤 (만 입력) : 조직 단위 이름 
조직 이름 : 어떤 (만 입력) 
도시 : 아무것도 (단지 입력) 
지방 : 아무것도 (만 입력) 
국가 번호 : 아무것도 (만 입력)

 

3 Tomcat 서버 구성

A, 같은 톰캣 오픈 프로필 : D 다음과 같이 변형 /apache-tomcat-6.0.29/conf/server.xml,

<! - 
<커넥터 포트 = "8443"프로토콜 = "HTTP / 1.1"SSLEnabled = "true"를 
              maxThreads는 = "150"계획은 = "HTTPS는"보안 = "true"를 
              clientAuth = "false"를 sslProtocol = "TLS"/> 
 ->

 제거 및 매개 변수 주 수정 =>

 

<커넥터 포트 = "8443"프로토콜 = "HTTP / 1.1"SSLEnabled = "true"를 
               maxThreads는 = "150"계획은 = "HTTPS는"= "true"를 확보 
               clientAuth = "false"를 sslProtocol = "TLS"keystoreFile = "D : / tomcat.keystore "keystorePass ="123456789 "/>

 

 어느, keystoreFile 인증서 파일 주소를 생성 할 수있는 마지막 단계이며, keystorePass 키 저장소 암호는 마지막 단계입니다.

 

B, 주석은 conf\server.xml다음 행을 파일.

<! - <리스너의 SSLEngine = "의"클래스 명 = "org.apache.catalina.core.AprLifecycleListener"/> ->

 

HTTPS : 마지막으로, 링크를 방문 //127.0.0.1 : 8443 / telesalesNew /

 

 

 

 

방문을 계속 고급을 클릭하여

 

 

 

 

둘째, 서버 구성

 

1, 서버는 인증서 생성
에 콘솔 스위치에서 %의 JAVA_HOME % / bin 디렉토리, 약간 특정 작업을. (다음 JDK bin 디렉토리에 명령을 입력 DOS 창을 엽니 다. 다음이 경로에서 수행되는 모든 단계를 반복합니다.)

톰캣에 대한 인증서를 생성하는 키 도구를 사용하여 대상 시스템의 호스트 이름이 "가정 "localhost "를, 당신이 저장하려는 키 저장소 파일 : \ 홈 \의 tomcat.keystore가 D가"암호 "입니다 다음 명령을 사용하여 생성 된 암호가":

키 도구 -genkey -v -alias 바람둥이 -keyalg RSA -keystore D : \ 홈 \ tomcat.keystore -validity 36500

매개 변수 (간략한 설명 : " D : \ 홈 \ tomcat.keystore는"경로가 D 인증서 파일 (저장하는 것을 의미한다 : \ 가정, 자신의 새로운 일을하지만, 자동으로 사전에, 그래서 tomcat.keystore 생성 자동으로 생성 된 이름이 자신을 취할 수있는 파일을 저장할 수있는 폴더에 새 디스크에서 자동으로 생성이 파일) 인증서 파일 이름이 tomcat.keystore입니다 넣어 폴더 뒤에 통일된다 "- 유효성 36500"을 의미 인증서는 기본 90 일 "바람둥이"사용자 정의 인증서 이름)이고, 36500은 백년 나타냅니다 유효합니다.

: 명령 줄에서 필요한 매개 변수를 입력
A, 키 스토어 암호 : 여기에 6 자 이상의 문자열을 더 입력해야합니다.
B, "성과 이름은 무엇입니까?"그것은 필수이며 배포해야 TOMCAT 도메인 호스트 또는 [같은 : gbcom.com 또는 10.1.25.251] IP (당신이 원하는 미래가 브라우저에 입력하는 액세스 주소), 그렇지 않으면 브라우저는 도메인과 일치하지 않는 사용자 인증서를 묻는 경고 창이 나타납니다. 로컬 개발 및 테스트를 수행 할 때, "로컬 호스트"를 입력해야합니다. (중요하다)
C, 조직 단위의 이름은 무엇인가? ""조직의 이름은 무엇입니까? ","당신의 도시 또는 무엇 지역의 이름을? ""주 또는 지방 무엇의 이름은? 본 기기 것에 대해 ""두 자로 된 국가 코드? 정확한 "기입 시스템을 요청하기 위해 필요에 따라 또는 기입 직접 입력하지 않을 수도있다"? "그렇지 않으면 입력"예 아니오 ""당신의 요구 사항을 충족하는 경우에는 제어 입력 정보가 문자를 입력하기 위해 키보드를 사용하는 경우 "위의 정보를 다시 입력합니다.
D는, <바람둥이> 마스터 암호를 입력이 더 중요합니다 바람둥이의 구성 파일을 사용, 입력 및 만장일치가 키 저장소 암호를 추천, 당신은 또한 입력 완료 후, 당신은 두 번째 단계에서 정의 된 위치에 생성 된 파일을 찾을 수 Enter 키를 눌러 다른 암호를 설정할 수 있습니다.


클라이언트가 2 인증서를 생성
서버가 검증 할 수 있도록하기 위해, 브라우저에 대한 인증서를 생성합니다. 따라서, 다음 명령을 사용하여 생성 원활 인증서 IE와 파이어 폭스에 도입 할 수 있기 위해서, PKCS12 인증서 형식이되어야합니다 :

키 도구 -genkey -v 별칭있는 MyKey -keyalg RSA -storetype PKCS12 -keystore D : \ 홈 \의 mykey.p12

(Mykey로 사용자 정의).

"온 주식 인증서 대응 D : \ 홈 \의 mykey.p12"(이 같은과 첫 번째 단계를 설명) 클라이언트 CN은 값이 될 수 있습니다. Mykey.p12 파일을 두 번 클릭 브라우저 (클라이언트)에 인증서를 가져올 수 있습니다 (I는이 컴퓨터가 낮은 네 번째를 포함에 통합의 신뢰를 확인).

 

3, 서버가 클라이언트 인증서를 신뢰하자

이 양방향 SSL 인증이기 때문에, 서버는 따라서 신뢰할 수있는 인증 서버와 클라이언트 인증서를 추가해야합니다, 클라이언트 인증서를 신뢰해야합니다. 인증서 PKCS12 라이브러리의 형식을 직접 가져올 수 없기 때문에, 다음 명령을 사용하여 별도의 파일로 첫 번째 클라이언트 인증서 CER을 내 보내야합니다 :

키 도구 -export -alias의 mykey -keystore D : 홈 \ \ mykey.p12 -storetype PKCS12 -storepass 비밀번호 -rfc - 파일 D : \ 홈 \의 mykey.cer 

(Mykey로 사용자 정의 클라이언트 정의의 mykey가 일치하도록, 암호는 사용자가 설정 한 암호입니다). 위의 명령을 통해 클라이언트 인증서가 우리에 수출했다 "D : 홈 \의 mykey.cer \"파일.

다음 단계는 서버의 인증서 저장소에 파일을 가져 오려면 다음 명령을 사용하여 신뢰할 수있는 인증서를 추가하는 것입니다 :

키 도구 -import -v - 파일 D : 홈 \ \ mykey.cer -keystore D : 홈 \의 tomcat.keystore \

list 명령에 의해 두 개의 인증서, 하나의 서버 인증서를 볼 수 있습니다, 서버의 인증서 저장소를 보려면 신뢰할 수있는 클라이언트 인증서입니다 :

키 도구 -list -keystore D : \ 홈 \의 tomcat.keystore

 (Tomcat은 당신을 위해 서버 측 인증서 이름을 설정).

4 클라이언트를 허용하면 서버 인증서를 신뢰하려면

이 양방향 SSL 인증이기 때문에, 클라이언트는 브라우저의에 서버 인증서를 추가해야합니다 따라서, 서버 인증서를 확인해야합니다 "신뢰할 수있는 루트 인증 기관." 직접 키 스토어 인증서 저장소 형식을 가져올 수 있기 때문에, 먼저 다음 명령을 사용하여 별도의 파일로 서버 인증서 CER을 내 보내야합니다 :

키 도구 -keystore D : 홈 \ \ tomcat.keystore -export -alias 바람둥이 - 파일 D : \ 홈 \의 tomcat.cer

 


 (Tomcat은 실행을 할 수있는 직접 명령의 상단에 따라, 내가 말한 인증서의 이름의 마지막 부분의 앞이 단계는 변화가 없다 모르는 당신을 위해 서버 측 인증서 이름을 설정).

위의 명령을 통해 서버 인증서는 우리에 수출했다 "D : 홈 \의 tomcat.cer \"파일. Tomcat.cer 두 번 클릭하여 인증서의 지시를 따라 설치 파일을 인증서가 가득합니다 "신뢰할 수있는 루트 인증 기관."

5. 구성 Tomcat 서버

D : 예로서, (1) 오픈 Tomcat 구성 파일 /apache-tomcat-6.0.29/conf/server.xml 다음과 같이 수정

 

코드를 복사
< 커넥터 포트 = "8080" 프로토콜 = "는 HTTP / 1.1" 은 ConnectionTimeout = "20000" 있는 redirectPort = "8443" /> 수정 매개 변수 => < 커넥터 포트 = "8080" 프로토콜 = "는 HTTP / 1.1" 은 ConnectionTimeout = "20000" 있는 redirectPort = "443" /> (그가 처음 마침내 성공하지 못했습니다, 8083에 8080을 만들기 위해 튜토리얼 때 기억하려고합니다. 여기가 변경할 수있는 개혁 법률의 상단에 따른다)
코드를 복사

 

 

 

 

 

(2)

 

<! - 
<커넥터 포트 = "8443"프로토콜 = "HTTP / 1.1"SSLEnabled = "true"를 
maxThreads는 = "150"계획은 = "HTTPS는"보안 = "true"를 
clientAuth = "false"를 sslProtocol = "TLS"/> ->

 

 

 


의 주석 및 매개 변수 => (물론, 주석을 제거 할 수 keystoreFile의 내부를 변경해야합니다,이 댓글의 맨 뒤에이의 바닥에 직접 추가 keystorePass 두 개의 매개 변수)를 수정

 

< 커넥터 포트 = "443" 프로토콜 = "HTTP / 1.1" SSLEnabled = "true"를 maxThreads는 = "150" 계획은 = "HTTPS는" 보안 = "true"를 clientAuth = "false"를 sslProtocol = "TLS" keystoreFile = "E : / tomcat.keystore " keystorePass ="123456789 " />

 

 

 


코멘트 :

 

keystoreFile, keystorePass 두 개의 매개 변수, 즉 인증서 파일의 위치 및 <톰캣> 마스터 암호 인증서 한 파일 생성 처리에 제공된다 (위치는 단지 자동으로 생성 된 파일이 저장되는 위치이며, 패스워드는 설정된 암호이다)
( 3)

 

 < 커넥터 포트 = "8009" enableLookups = "false"를 프로토콜 = "AJP / 1.3" 있는 redirectPort = "8443" />

 

 

 

매개 변수를 수정 =>

 

< 커넥터 포트 = "8009" enableLookups = "false"를 프로토콜 = "AJP / 1.3" 있는 redirectPort = "443" />

 

 

 


(나는이없는 내부 enableLookups = "거짓"이 사람이, 나는 또한 추가 된 문구의 상단에있는 방법에 따라)

 

 

 

B, 오픈 D : /apache-tomcat-6.0.29/conf/web.xml 파일에서 </ 시작 파일리스트>이 통과 하였다 :

 

코드를 복사
< 로그인-설정 > 
 <! - 인증은 SSL 설정을 -> < 인증 메소드 > CLIENT-CERT </ 인증 메소드 > < 영역 이름 > 클라이언트 인증서를 사용자 전용 지역 </ 영역 이름 > </ 로그인 -config > < 보안 제약 > <! - 인증은 SSL 설정을 -> < 웹 자원 수집 > < 웹 자원 이름 > SSL </ 웹 자원 이름 > < URL 패턴 > / * </ URL 패턴> </ 웹 자원 수집 > < 사용자 데이터 제약 > < 운송 보장 > 기밀 </ 운송 보증 > </ 사용자 데이터 제약 > </ 보안 제약 >
코드를 복사

 

 

 


나는이 자습서를 실행 HTTPS를 완료 후 : // localhost를 오류가 있음을 발견했다. 나는 그것이 필요한 conf \ server.xml 파일을 언급 몇 자습서 후 다음 줄을 찾을 수 찾을 수 있습니다.

 

<! - "의"<리스너 클래스 명 = "org.apache.catalina.core.AprLifecycleListener"SSLEngine의 = /> ->

 

추천

출처www.cnblogs.com/hmhhz/p/11490577.html