본문으로 건너뛰기

Nginx 서버에 SSL 인증서 설치

Nginx 서버에 SSL 인증서를 설치하면 Nginx 서버에서 HTTPS 보안 접속을 지원할 수 있습니다. 본문에서는 Nginx 서버에 SSL 인증서를 설치하는 방법을 설명합니다.

설명

본 문서에서는 Nginx 버전을 nginx/1.18.0 예시로 설명합니다. 설치 전에 443 포트가 사용 중이 아닌지 확인하시기 바랍니다. 443 포트가 이미 사용 중인 경우 인증서 설치 시 다른 포트를 바인딩해 주세요.

인증서 획득

  1. 인증서 발급이 완료되면 압축(.zip) 형식의 인증서 파일이 발급됩니다. 압축 파일 안에는 Tomcat, Nginx, IIS, Apache 총 4가지 인증서 형식에 대응하는 4개의 폴더가 있으며, Nginx 서버에는 Nginx 폴더 내의 인증서를 사용합니다.
  2. Nginx 폴더에는 다음 두 개의 파일이 포함되어 있습니다.
  • domain_com_integrated.crt 인증서 파일
  • domain_com.key 개인키 파일

SSL 인증서 설치

  1. 획득한 domain_com_integrated.crt 인증서 파일과 domain_com.key 개인키 파일을 로컬 디렉터리에서 Nginx 서버의 /etc/nginx/ssl 디렉터리로 복사합니다.
  • /etc/nginx/ssl 디렉터리가 존재하지 않는 경우 mkdir -p /etc/nginx/ssl 명령으로 생성할 수 있습니다.
  • 설치 방식에 따라 디렉터리 위치가 다를 수 있으므로 실제 환경을 기준으로 확인하시기 바랍니다.
  1. Nginx 루트 디렉터리의 nginx.conf 파일을 편집합니다. 수정할 내용은 다음과 같습니다.
nginx.conf
server {
listen 443 ssl;
#填写自己的域名,多个域名用空格隔开
server_name racent.com;

#填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;

#填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}

주의

버전 문제로 인해 구성 파일 작성 방식이 다를 수 있습니다. 예를 들어 Nginx 버전이 nginx/1.15.0 미만인 경우 listen 443 ssl 대신 listen 443ssl on를 사용하세요.

수정 후 구성 파일을 저장하고 다음 명령을 실행하세요:

nginx -t         #验证配置文件是否正确
nginx -s reload #重载 Nginx

SSL 인증서 테스트

브라우저 주소창에 SSL 인증서가 바인딩된 도메인을 입력하여 SSL 인증서가 정상적으로 설치되었는지 테스트하세요. 정상적으로 설치된 경우 브라우저 주소창에 자물쇠 모양의 보안 아이콘이 표시되며, 해당 아이콘을 클릭하면 인증서 정보를 확인할 수 있습니다.

SSL 인증서 적용 효과

HTTP에서 HTTPS로 자동 전환 보안 설정(선택 사항)

HTTP 요청을 HTTPS(으)로 자동 리디렉션하려면 다음 단계를 따라 설정할 수 있습니다:

  1. Nginx의 리디렉션 기능을 사용하여 HTTP의 serverreturn 301 https://$host$request_uri;을(를) 추가하면 HTTP 요청이 HTTPS(으)로 리디렉션됩니다. 아래 내용을 수정하세요:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}

  1. Nginx 서버를 재시작하면 도메인으로 접속할 수 있으며, HTTP에서 HTTPS(으)로 자동 이동되도록 구현합니다.