서문 :
HTTP 프로토콜은 무료 SSL 인증서, 또는 주류 방법을 적용하지만, 점차적으로 일부 브라우저는 자체 서명 된 인증서를 지원하지 않습니다 얻을 수 있습니다. 결국, 이것은 사용자를위한 플랫폼이며 안전하게되고있다, 그것은 이해할 수 있지만, 많은 웹 사이트도 또한 사이트의 무료 SSL 인증서를 신청할 수 있습니다 상업 지불 인증서를 사용하지 않고있다. 따라서이 참조 만 기록 등의 접근 또는 일부 이전 버전 또는 개별 브라우저에 자체 서명 인증서 https를 사용 할 수 있습니다.
바디 :
당신은 역방향 프록시로의 nginx를 사용하는 경우,이 문서에서는 백엔드 서비스는 아무 문제도 HTTP 그래서 경우에도 방법에 HTTPS의 nginx를 구성하는 방법을 가르 칠 수 있습니다.
첫째, 우리는 인증서가 무엇을 필요로
이전에 "쓴 톰캣 HTTPS 구성 (무료 인증서) "제인의 책 ( - 둘 사이에 관련된 많은 지식이 아직 없습니다, 내부보고 내 홈 페이지로 이동할 수 있습니다보고 싶은 넣어 가지고있는) 의 nginx를 사용하여 PEM 형식의 인증서 인 인증서를 분류하는 데 사용되어, 우리가 열려 두 개의 파일을 하나의 파일 .KEY가 필요하다 분할하는가 .crt 파일입니다.
둘째, 방법 무료 인증서를 얻을 수 있습니다
첫 번째 : 당신은 Windows 사용자, 그리고 인증서의 .keystore라고 형식이있는 경우
그런 다음 PEM 인증서에 키 스토어 인증서를 변환 JKS2PFX 변환 도구를 사용하여, 작동 방법은 다음과 같습니다 도구 디렉토리에 CD가, 다음 명령을 실행합니다 :
$ JKS2PFX <키 스토어 파일> <키 스토어 암호> <별칭 별칭> <내보내기 파일 이름>
두 번째 : 당신은 리눅스 또는 OSX 시스템의 경우
- 개인 키는 실행 키 생성됩니다
$하려면 openssl genrsa -des3 -out은 server.key 2048
두 번 암호를 묻는 한 동일이 될 수 입력
암호를 입력
한 다음은이 server.key 파일을 가져
종종 반환 할 수 있습니다 (OpenSSL이 명령 또는 API 제공)이 파일을 사용 후에하는 것은 암호를 입력 한 암호를 필요로하는 다음 명령을 사용하여 제거 할 수 있습니다. :
$하려면 openssl RSA -in은 server.key -out은 server.key
- 서버 인증서의 신청 서류의 server.csr 생성, 실행
$하려면 openssl REQ -new -key은 server.key -out server.csr
CN 채우기 국가 이름, 일반 이름은 브라우저가 안전하지 않은 것으로 간주 기입하지 않는 경우, 채울 수없는 호스트 이름을 입력합니다 (URL의 나머지 부분, 예를 들어. HTTPS : ABCD가 / XXXX ... // 여기에 당신이 ABCD 채울 수 있습니다) , 다른 하나는 채울 수 없습니다.
- CA 인증서를 만듭니다
$하려면 openssl REQ -new -x509 -key은 server.key -out ca.crt -days 3650
이 시점에서, 당신은 ca.crt의 인증서, 인증서 서명을 소유하는 데 사용이 인증서를 얻을 수 있습니다.
- 서버 인증서는 server.crt 일부터 현재의 10 년 기간에서 만든 :
$하려면 openssl에서는 X509 -req -days 3650 -in server.csr -CA ca.crt -CAkey은 server.key -CAcreateserial -out는 server.crt
- LS 폴더, 당신은 총 생성 된 5 개의 문서를 볼 수 있습니다
ca.crt ca.srl는 server.crt server.csr은 server.key
,는 server.crt와은 server.key 당신의 nginx 필요 인증서 파일이다.
셋째, 구성하는 방법의 nginx
- 당신의 nginx 구성 파일을 열고 검색 443 HTTPS 구성, 주석이 코드 또는 직접 I에게 다음과 같은 구성을 복사를 발견 :
서버 {
443을 듣고;
서버 _ 로컬 호스트;
SSL에;
ssl_certificate /root/Lee/keys/server.crt;# 인증서 위치를 구성
ssl_certificate_key /root/Lee/keys/server.key;# 키 위치를 배치
#ssl_client_certificate ca.crt # 상호 인증
에 #ssl_verify_client # 상호 인증
ssl_session_timeout 5m;
ssl_protocols SSLv2의 SSLv3에 TLSv1의;
ssl_ciphers ALL : ADH : EXPORT56 : RC4 + RSA : + HIGH : + MEDIUM : + LOW : + SSLv2의 :! + EXP;
ssl_prefer_server_ciphers에;
- ssl_certificate이는 server.crt 경로를 변경, ssl_certificate_key의은 server.key의 경로가 변경되었습니다.
- 의 nginx -s 다시로드 다시로드 구성
이 시점에서, nginx를 HTTPS를 기본 443 포트를 사용할 수 있습니다.