서버 ssl 설정
인증서 가 져 오기
증 서 는 무료 와 비용 을 지불 하 는 것 이 있 고 널리 알려 진 무료
Let's Encrypt
도 있 습 니 다. 국내 에서 도 합작 의 무료 증 서 를 많이 내 놓 았 습 니 다. 예 를 들 어 구름 과 일곱 소 를 찍 는 것 도 무료 개방 신청 이 있 고 대부분 도 메 인 이름 입 니 다.여러 개의 2 급 도 메 인 이름 을 동시에 지원 해 야 하기 때문에 저 는 cheapslsecurity 에서
comodo
개의 도 메 인 이름 인증 서 를 구 매 했 습 니 다.www
가 없 는 메 인 네 임 과 두 개의 도 메 인 네 임, 23 칼 을 포함 하고 한 개의 도 메 인 네 임 을 추가 하면 모두 32 칼 로 받 아들 일 수 있 습 니 다. 주문 할 수 있 습 니 다. PayPal 로 지불 할 수 있 습 니 다. 지불 이 성공 하면 개인 정 보 를 작성 할 수 있 습 니 다.그리고 다음 단계 로 넘 어 갈 수 있 습 니 다.
대개 이렇게 해서 도 메 인 이름 을 쓰 고 도 메 인 이름 검증 방식 을 선택 합 니 다. 저 는 보통 CNAME 인증 을 선택 합 니 다. 도 메 인 이름 콘 솔 에 가서 분석 을 설정 하면 검증 을 통과 할 수 있 습 니 다.
다음은
.scr
파일 내용 을 작성 하 는 구역 입 니 다. 이 파일 은 서버 에 생 성 되 어야 합 니 다.$ openssl req -new -newkey rsa:2048 -sha256 -nodes -out example.com.csr -keyout example.com.key -subj "/C=CN/ST=ZheJiang/L=HangZhou/O=Example Inc./OU=Web Security/CN=example.com"
# C:Country, , , :CN
# ST:State/Province,
# L:Locality, /
# O:Organization,
# OU:Organization Unit, ; , ,
# CN:Common Name,
실행 후 두 개의 파일
example.com.csr
과 example.com.key
을 받 아 example.com.csr
의 내용 을 완전한 pem
형식 으로 사이트 에 제출 합 니 다.다음 에 이 인증서 에 추가 해 야 할 하위 도 메 인 이름
www
을 선택 할 수 있 습 니 다. 마지막 으로 서버 종 류 를 선택 하면 형식 에 어떤 영향 을 미 칠 지 모 르 겠 습 니 다 (저 는 nginx server).이상 완료 되면 새 페이지 가 있 습 니 다. 설정 해 야 할 CNAME 정보 가 포함 되 어 있 습 니 다. 설정 이 끝나 면 인증서 가 포 함 된 메 일 을 기다 리 고 있 습 니 다.
ssl 인증서 설정
받 은 메 일 압축 파일 에는 4 개의 파일 이 포함 되 어 있 습 니 다.
각각:
AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
93485680.crt
$ cat 93485680.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl.bundle.crt
그 다음 에 이 인증서 체인 을 이전에 생 성 된
example.com.csr
, example.com.key
과 같은 곳 에 두 고 관리 하면 nginx 서버 를 설정 하 는 것 입 니 다.listen 443 ssl;
server_name example.com www.example.com;
# ssl config
ssl on;
ssl_certificate /etc/ssl/private/ssl.bundle.crt; #
ssl_certificate_key /etc/ssl/private/example.com.key; #
# ssl_protocols ssl_ciphers SSL/TLS
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # ,Windows XP
ssl_ciphers HIGH:!aNULL:!MD5; #
이 설정 이 완료 되면 nginx 를 다시 시작 하면 https 형식 으로 사 이 트 를 방문 할 수 있 습 니 다.
기타
https 접근 강제
웹 사이트 에 강제로 https 형식 으로 접근 할 필요 가 있 으 면 HSTS (HTTP Strict Transport Security) 정책 을 추가 할 수 있 습 니 다.
# HSTS , https
add_header Strict-Transport-Security max-age=31536000;
# add_header X-Frame-Options DENY; # iframe
add_header X-Content-Type-Options nosniff;
그리고 다른 단독 server 설정 에서 도 메 인 이름 의 80 포트 를 감청 하고 https 링크 로 다시 설정 합 니 다.
server {
listen 80;
server_name example.com www.example.com;
location / {
return 301 https://example.com$request_uri; #
}
}
전체 설정
server {
listen 443 ssl;
server_name example.com www.example.com;
# ssl config
ssl on;
ssl_certificate /etc/ssl/private/ssl.bundle.crt; #
ssl_certificate_key /etc/ssl/private/example.com.key; #
# , -
# openssl dhparam -out /etc/ssl/private/dhparam.pem 2048
ssl_prefer_server_ciphers on; # Forward Secrecy
ssl_dhparam /etc/ssl/private/dhparam.pem;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1; # ,Windows XP
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;
# HSTS , https
add_header Strict-Transport-Security max-age=31536000;
# add_header X-Frame-Options DENY; # iframe
add_header X-Content-Type-Options nosniff;
location / {
# root /usr/share/nginx/html;
# index index.html index.htm;
index index;
# proxy_pass http://127.0.0.1:7001;
proxy_pass http://127.0.0.1:7001/blog/index;
}
}
emmmm..................................................................................
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MTLS 사용서버가 인증서로 인증되는 것이 일반적이지만 이 경우 클라이언트도 인증서를 가지고 있습니다. MTLS를 사용하면 서버는 클라이언트가 누구인지 확인할 수 있습니다. 시나리오는 클라이언트(Amy)가 MTLS를 사용하여 서...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.