>운영 및 유지보수 >엔진스 >HTTPS 웹사이트를 배포하기 위해 Nginx SSL 인증서를 구성하는 방법

HTTPS 웹사이트를 배포하기 위해 Nginx SSL 인증서를 구성하는 방법

王林
王林앞으로
2023-05-12 12:31:121267검색

브라우저에서 신뢰하지 않는 SSL 인증서를 직접 발급하세요

수동으로 발급하세요

xshell로 서버에 로그인하고 openssl을 사용하여 rsa 키와 인증서를 생성하세요

# 生成一个rsa密钥 
$ openssl genrsa -des3 -out tfjybj.key 1024

# 拷贝一个不需要输入密码的密钥文件
$ openssl rsa -in dmsdbj.key -out tfjybj_nopass.key

# 生成一个证书请求
$ openssl req -new -key tfjybj.key -out tfjybj.csr

여기서 다음 메시지가 표시됩니다. 도, 시, 도메인 이름 및 기타 정보를 입력하세요. 이메일 도메인 이름 접미사여야 합니다. 이렇게 하면 SSL 공급자에게 제출될 때 csr 파일인 csr 파일이 생성됩니다.

(여기는 스크린샷이 없어서 인터넷에서 사진을 찾았습니다. 교체해야 할 것은 아래 33iq인데, 이는 tfjybj로 교체됩니다.)

가운데 비밀번호를 입력하면, 아무 것도 표시되지 않지만 그대로 입력하세요

HTTPS 웹사이트를 배포하기 위해 Nginx SSL 인증서를 구성하는 방법

# 自己签发证书
$ openssl x509 -req -days 365 -in tfjybj.csr -signkey tfjybj.key -out tfjybj.crt

생성된 인증서를 nginx 구성 파일과 동일한 디렉터리에 넣습니다.

nginx 구성

nginx 구성 파일 nginx.conf를 편집하고 다음을 추가합니다. https 프로토콜

server {
  server_name tfjybj.com;
  listen 443;
  ssl on;
  ssl_certificate /usr/local/nginx/conf/tfjybj.crt;
  ssl_certificate_key /usr/local/nginx/conf/tfjybj_nopass.key;
  # 若ssl_certificate_key使用tfjybj.key,则每次启动nginx服务器都要求输入key的密码。
  (开始我不知道,纳闷为啥启动nginx、关闭nginx都要输入密码)
}

Restart nginx

직접 발급 SSL 인증서는 암호화된 전송 기능을 실현할 수 있지만 브라우저는 이를 신뢰하지 않으며 다음 메시지를 표시합니다.

HTTPS 웹사이트를 배포하기 위해 Nginx SSL 인증서를 구성하는 방법

제3자를 통해 발급된 인증서 파티 – Alibaba Cloud

인증서 발급

Alibaba Cloud 관리에 로그인하세요. 콘솔의 [Cloud Shield] 메뉴에서 [인증서 서비스]를 선택하고 인증서 구매를 선택하세요.

무료로 받았습니다. 신청 후, 1~2일 검토 후 인증서를 다운로드 받으실 수 있습니다. 다운로드하고 압축을 풀면 두 개의 파일이 있습니다. 하나는 개인 키인 키로 끝나고 다른 하나는 공개 키인 pem으로 끝납니다.

Configuration nginx

파일 설명:

인증서 파일 "적용된 인증서 Name.pem"에는 두 단락의 콘텐츠가 포함되어 있습니다. 콘텐츠 단락을 삭제하지 마세요.

인증 시스템에서 생성된 CSR인 경우 인증서 개인 키 파일 "적용된 인증서 이름.key"도 포함됩니다.

(1) nginx 설치 디렉터리에 cert 디렉터리를 생성하고, 다운로드한 모든 파일을 cert 디렉터리에 복사합니다. 인증서 신청시 csr 파일을 직접 생성하신 경우, 해당 개인키 파일을 cert 디렉토리에 넣어주시고 이름을 "applied Certificate name.key"로 해주시기 바랍니다.

(2) nginx 설치 아래 conf 디렉토리에서 nginx를 열어주세요. .conf 파일에서 찾기:

# https server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# 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 on;
# location / {
#
#
#}
#}

(3) 다음과 같이 수정합니다(다음 속성 중 ssl로 시작하는 속성은 인증서 구성과 직접 관련이 있으며, 다른 속성은 실제 상황에 따라 복사하거나 조정해야 합니다):

server { 
listen 443; 
server_name localhost; 
ssl on; 
root html; 
index index.html index.htm; 
ssl_certificate cert/申请的证书名字.pem; 
ssl_certificate_key cert/申请的证书名字.key; 
ssl_session_timeout 5m; 
ssl_ciphers ecdhe-rsa-aes128-gcm-sha256:ecdhe:ecdh:aes:high:!null:!anull:!md5:!adh:!rc4; 
ssl_protocols tlsv1 tlsv1.1 tlsv1.2; 
ssl_prefer_server_ciphers on; 
location / { 
root html; 
index index.html index.htm; 
} 
}

저장하고 종료하세요.

(4) nginx를 다시 시작합니다.

(5) https

를 통해 사이트에 액세스하세요.

위 내용은 HTTPS 웹사이트를 배포하기 위해 Nginx SSL 인증서를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제