HTTPS를 (무료 인증서) nginx에하는 구성하는 방법

 

서문 :

  HTTP 프로토콜은 무료 SSL 인증서, 또는 주류 방법을 적용하지만, 점차적으로 일부 브라우저는 자체 서명 된 인증서를 지원하지 않습니다 얻을 수 있습니다. 결국, 이것은 사용자를위한 플랫폼이며 안전하게되고있다, 그것은 이해할 수 있지만, 많은 웹 사이트도 또한 사이트의 무료 SSL 인증서를 신청할 수 있습니다 상업 지불 인증서를 사용하지 않고있다. 따라서이 참조 만 기록 등의 접근 또는 일부 이전 버전 또는 개별 브라우저에 자체 서명 인증서 https를 사용 할 수 있습니다.

 

바디 :

당신은 역방향 프록시로의 nginx를 사용하는 경우,이 문서에서는 백엔드 서비스는 아무 문제도 HTTP 그래서 경우에도 방법에 HTTPS의 nginx를 구성하는 방법을 가르 칠 수 있습니다.

첫째, 우리는 인증서가 무엇을 필요로

  이전에 "쓴 톰캣 HTTPS 구성 (무료 인증서) "제인의 책 ( - 둘 사이에 관련된 많은 지식이 아직 없습니다, 내부보고 내 홈 페이지로 이동할 수 있습니다보고 싶은 넣어 가지고있는) 의 nginx를 사용하여 PEM 형식의 인증서 인 인증서를 분류하는 데 사용되어, 우리가 열려 두 개의 파일을 하나의 파일 .KEY가 필요하다 분할하는가 .crt 파일입니다.

둘째, 방법 무료 인증서를 얻을 수 있습니다

첫 번째 : 당신은 Windows 사용자, 그리고 인증서의 .keystore라고 형식이있는 경우

그런 다음 PEM 인증서에 키 스토어 인증서를 변환 JKS2PFX 변환 도구를 사용하여, 작동 방법은 다음과 같습니다 도구 디렉토리에 CD가, 다음 명령을 실행합니다 :

$ JKS2PFX <키 스토어 파일> <키 스토어 암호> ​​<별칭 별칭> <내보내기 파일 이름>

두 번째 : 당신은 리눅스 또는 OSX 시스템의 경우

  1. 개인 키는 실행 키 생성됩니다

$하려면 openssl genrsa -des3 -out은 server.key 2048

두 번 암호를 묻는 한 동일이 될 수 입력

암호를 입력
한 다음은이 server.key 파일을 가져
종종 반환 할 수 있습니다 (OpenSSL이 명령 또는 API 제공)이 파일을 사용 후에하는 것은 암호를 입력 한 암호를 필요로하는 다음 명령을 사용하여 제거 할 수 있습니다. :

$하려면 openssl RSA -in은 server.key -out은 server.key

  1. 서버 인증서의 신청 서류의 server.csr 생성, 실행

$하려면 openssl REQ -new -key은 server.key -out server.csr

 

CN 채우기 국가 이름, 일반 이름은 브라우저가 안전하지 않은 것으로 간주 기입하지 않는 경우, 채울 수없는 호스트 이름을 입력합니다 (URL의 나머지 부분, 예를 들어. HTTPS : ABCD가 / XXXX ... // 여기에 당신이 ABCD 채울 수 있습니다) , 다른 하나는 채울 수 없습니다.

  1. CA 인증서를 만듭니다

$하려면 openssl REQ -new -x509 -key은 server.key -out ca.crt -days 3650

이 시점에서, 당신은 ca.crt의 인증서, 인증서 서명을 소유하는 데 사용이 인증서를 얻을 수 있습니다.

  1. 서버 인증서는 server.crt 일부터 현재의 10 년 기간에서 만든 :

$하려면 openssl에서는 X509 -req -days 3650 -in server.csr -CA ca.crt -CAkey은 server.key -CAcreateserial -out는 server.crt

  1. LS 폴더, 당신은 총 생성 된 5 개의 문서를 볼 수 있습니다

ca.crt ca.srl는 server.crt server.csr은 server.key
,는 server.crt와은 server.key 당신의 nginx 필요 인증서 파일이다.

셋째, 구성하는 방법의 nginx

  1. 당신의 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에;

  1. ssl_certificate이는 server.crt 경로를 변경, ssl_certificate_key의은 server.key의 경로가 변경되었습니다.
  2. 의 nginx -s 다시로드 다시로드 구성

이 시점에서, nginx를 HTTPS를 기본 443 포트를 사용할 수 있습니다.

 

추천

출처www.cnblogs.com/immense/p/11402157.html