NGINX SSL 인증서 설정 + HTTPS 사이트 구축 강좌
위 키 백과 의 설명 에 따 르 면:
( :HTTPS, :Hypertext Transfer Protocol Secure) SSL/TLS , 。HTTPS 。HTTPS RFC 2660 (S-HTTP) 。
HTTPS 는 현재 프라이버시 와 안전 을 중시 하 는 모든 사이트 의 최 우선 선택 이다. 기술 이 계속 발전 함 에 따라 HTTPS 사 이 트 는 더 이상 대형 사이트 의 특허 가 아니 라 모든 일반 개인 역장 과 블 로 그 는 스스로 안전 한 암호 화 사 이 트 를 구축 할 수 있다.
만약 한 사이트 가 암호 화 되 지 않 았 다 면, 당신 의 모든 계 정 비밀 번 호 는 명문 으로 전 송 됩 니 다.프라이버시 와 금융 문제 가 걸 리 면 암호 화 되 지 않 은 전송 이 얼마나 무 서운 지 짐작 할 수 있다.
본 블 로그 의 독자 들 이 모두 전문가 에 가 까 운 것 을 감안 하여 우 리 는 더 이상 긴 말 하지 않 고 바로 본론 으로 들 어가 자.
2. OpenSSL 을 사용 하여 SSL Key 와 CSR 생 성
브 라 우 저 나 시스템 이 신뢰 하 는 CA 만 이 모든 방문 자 들 이 인증서 오류 알림 이 아 닌 암호 화 사 이 트 를 원활 하 게 방문 할 수 있 기 때 문 입 니 다.그래서 우 리 는 인증서 에 서명 하 는 절 차 를 뛰 어 넘 고 제3자 가 신뢰 할 수 있 는 SSL 인증서 에 서명 합 시다.
OpenSSL 은 Linux, OS X 등 일반적인 시스템 에서 기본적으로 설치 되 어 있 습 니 다. 일부 안전 문제 로 인해 현재 의 제3자 SSL 인증서 발급 기 구 는 최소 2048 비트 의 RSA 암호 화 된 비밀 키 를 요구 합 니 다.
또한 일반적인 SSL 인증서 인증 은 두 가지 형식 으로 나 뉘 는데 하 나 는 DV (Domain Validated) 이 고 다른 하 나 는 OV (Organization Validated) 입 니 다. 전 자 는 도 메 인 이름 만 검증 하고 후 자 는 조직 이나 회 사 를 검증 해 야 합 니 다. 안전성 에 있어 후자 가 좋 을 것 입 니 다.
DV 든 OV 로 비밀 키 를 만 들 든 기본 정 보 를 작성 해 야 합 니 다. 여기 서 우 리 는 다음 과 같이 가정 합 니 다.
도 메 인 이름 은 Common Name 이 라 고도 합 니 다. 특별한 인증서 가 도 메 인 이름 이 아 닙 니 다.
example.com
조직 또는 회사 이름 (Organization): Example, Inc.
부서 (Department): 안 써 도 돼 요. 여기 저희 가 쓸 게 요. Web Security
도시 (도시):
Beijing
성 (State / Province): Beijing
국가 (국가): CN
암호 화 강도: 2048 비트, 기계 성능 이 강하 면 4096 비트 를 선택 할 수 있 습 니 다.이상 의 정보 에 따라 OpenSSL 을 사용 하여 key 와 csr 를 생 성 하 는 명령 은 다음 과 같 습 니 다.
openssl req -new -newkey rsa:2048 -sha256 -nodes -out example_com.csr -keyout example_com.key -subj "/C=CN/ST=Beijing/L=Beijing/O=Example Inc./OU=Web Security/CN=example.com"
PS: 범 도 메 인 이름 인증서 라면 작성 해 야 합 니 다.
*.example.com
시스템 의 어느 곳 에서 든 이 명령 을 실행 할 수 있 습 니 다. 현재 디 렉 터 리 에서 자동 으로 생 성 됩 니 다.
example_com.csr
화해시키다 example_com.key
이 두 파일이제 확인 해 보 세 요.
example_com.csr
이렇게 긴 문자열 의 문 자 를 얻 었 습 니 다.-----BEGIN CERTIFICATE REQUEST-----
MIICujCCAaICAQAwdTELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB0JlaWppbmcxEDAO
BgNVBAcTB0JlaWppbmcxFTATBgNVBAoTDEV4YW1wbGUgSW5jLjEVMBMGA1UECxMM
V2ViIFNlY3VyaXR5MRQwEgYDVQQDEwtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAPME+nvVCdGN9VWn+vp7JkMoOdpOurYMPvclIbsI
iD7mGN982Ocl22O9wCV/4tL6DpTcXfNX+eWd7CNEKT4i+JYGqllqP3/CojhkemiY
SF3jwncvP6VoST/HsZeMyNB71XwYnxFCGqSyE3QjxmQ9ae38H2LIpCllfd1l7iVp
AX4i2+HvGTHFzb0XnmMLzq4HyVuEIMoYwiZX8hq+kwEAhKpBdfawkOcIRkbOlFew
SEjLyHY+nruXutmQx1d7lzZCxut5Sm5At9al0bf5FOaaJylTEwNEpFkP3L29GtoU
qg1t9Q8WufIfK9vXqQqwg8J1muK7kksnbYcoPnNgPx36kZsCAwEAAaAAMA0GCSqG
SIb3DQEBBQUAA4IBAQCHgIuhpcgrsNwDuW6731/DeVwq2x3ZRqRBuj9/M8oONQen
1QIacBifEMr+Ma+C+wIpt3bHvtXEF8cCAJAR9sQ4Svy7M0w25DwrwaWIjxcf/J8U
audL/029CkAuewFCdBILTRAAeDqxsAsUyiBIGTIT+uqi+EpGG4OlyKK/MF13FxDj
/oKyrSJDtp1Xr9R7iqGCs/Zl5qWmDaLN7/qxBK6vX2R/HLhOK0aKi1ZQ4cZeP7Mr
8EzjDIAko87Nb/aIsFyKrt6Ze3jOF0/vnnpw7pMvhq+folWdTVXddjd9Dpr2x1nc
y5hnop4k6kVRXDjQ4OTduQq4P+SzU4hb41GIQEz4
-----END CERTIFICATE REQUEST-----
이 CSR 파일 은 SSL 인증 기관 에 제출 해 야 하 는 것 입 니 다. 도 메 인 이나 조직 이 인증 을 통과 하면 인증 기관 에서 발급 합 니 다.
example_com.crt
그리고
example_com.key
Nginx 설정 과 example_com.crt
협조 적 으로 사용 할 경우 잘 보관 해 야 하 며, 절대 제3자 에 게 누설 하지 마 세 요.3. Nginx 는 HTTPS 사 이 트 를 설정 하고 안전 한 설정 을 추가 합 니 다.
앞에서 언급 했 듯 이 CSR 파일 을 제3자 SSL 인증 기구 에 제출 해 야 합 니 다. 인증 을 통과 하면 그들 은 당신 에 게 CRT 파일 을 발급 할 것 입 니 다. 우 리 는 이름 을 지 었 습 니 다.
example_com.crt
동시에 통일 을 위해 서 당신 은 이 세 개의 파일 을 모두 이동 할 수 있 습 니 다.
/etc/ssl/private/
목록그리고 Nginx 프로필 을 수정 할 수 있 습 니 다.
server {
listen 80;
listen [::]:80 ssl ipv6only=on;
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;
server_name example.com;
ssl on;
ssl_certificate /etc/ssl/private/example_com.crt;
ssl_certificate_key /etc/ssl/private/example_com.key;
}
설정 파일 이 문제 없 음 을 확인 한 후 Nginx 를 다시 읽 으 면 됩 니 다.
nginx -t && nginx -s reload
그러나 이렇게 하 는 것 은 안전 하지 않 습 니 다. 기본 값 은 SHA - 1 형식 입 니 다. 현재 주류 방안 은 모두 SHA - 1 을 피해 야 합 니 다. 더욱 강 한 안전성 을 확보 하기 위해 디 피 헤 르 만 키 교환 을 할 수 있 습 니 다.
먼저
/etc/ssl/certs
디 렉 터 리 및 생 성 dhparam.pem
cd /etc/ssl/certs
openssl dhparam -out dhparam.pem 2048 # , 4096
생 성 완료 후 Nginx SSL 설정 뒤에 추가
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
keepalive_timeout 70;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
또한, 전체 사이트 HTTPS 이 고 HTTP 를 고려 하지 않 는 다 면 HSTS 가 알려 준 브 라 우 저 본 사이트 의 전체 사이트 암호 화 를 추가 하고 HTTPS 로 강제로 접근 할 수 있 습 니 다.
add_header Strict-Transport-Security max-age=63072000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
또한 Nginx 설정 을 따로 열 어 HTTP 접근 요청 을 모두 301 로 HTTPS 로 전환 할 수 있 습 니 다.
server {
listen 80;
listen [::]:80 ssl ipv6only=on;
server_name example.com;
return 301 https://example.com$request_uri;
}
4. 신뢰 할 수 있 는 제3자 SSL 발급 기구
얼마 전 한 NIC 기관 에서 Google 도 메 인 이름 에 대한 인증서 발급 스캔들 이 불 거 졌 기 때문에 믿 을 만 한 제3자 SSL 발급 기관 을 선택 하 는 것 이 얼마나 중요 한 지 알 수 있다.
현재 일반 시장 에서 중 소 역장 과 기업 을 대상 으로 하 는 SSL 인증서 발급 기 구 는 다음 과 같다.
StartSSL
Comodo / 하위 브랜드 Positive SSL
GlobalSign / 하위 브랜드 AlphaSSL
GeoTrust / 하위 브랜드 RapidSSL
그 중에서 Postivie SSL, AlphaSSL, RapidSSL 등 은 모두 하위 브랜드 이 고 보통 3 급 4 급 인증서 이기 때문에 CA 인증서 체인 을 CRT 파일 에 추가 해 야 합 니 다.
Comodo Positive SSL 의 경우 도 메 인 이름 이
example.com
그렇다면 직렬 연결 명령 은?
cat example_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > example_com.signed.crt
Nginx 설정 에 example 사용 하기com. signed. crt 하면 됩 니 다.
일반적인 AplhaSSL 범 도 메 인 인증서 라면 CA 인증서 체인 을 보 내지 않 습 니 다. CRT 파일 뒤에 AlphaSSL 의 CA 인증서 체인 을 추가 해 야 합 니 다.
AlphaSSL Intermediate CA
5. 기업 에 대한 EV SSL
EV SSL 은 Extended Validation 의 약칭 으로 기업 사이트 에 대한 안전 보호 와 엄격 한 인증 을 더욱 중시한다.
가장 뚜렷 한 차이 점 은 보통 EV SSL 에 녹색 줄 이 표시 되 는데 예 를 들 어 본 사이트 의 SSL 인증 서 는 EV SSL 입 니 다.
만약 귀사 가 전문 적 인 EV SSL 을 얻 고 싶다 면 언제든지 저희 info at cat dot net 에 연락 하 십시오.
6. 본 고 는 문헌 을 참고 한다.
Apache + WordPress + SSL 완전 가이드
OpenSSL CSR Creation
NGINX - PhoenixWiki
다음으로 이동:https://s.how/nginx-ssl/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
javascript 빠른 요약함수 레벨 스코프이므로 전역 함수 외부에서 생성한 변수는 모두 전역 변수이며 for문의 변수 선언문에서 선언한 변수를 for문 외부에서 참조할 수 있다. 클로저 : 반환된 내부함수가 자신이 선언됐을 때의 환경(Lex...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.