Backend

[ssl] 가상서버 nginx에 ssl(https) 적용시키기 (feat. cafe24)

하우아유두잉 2021. 12. 23. 14:28

 

 

cafe24에서 가상서버를 구축중이다.

 

COIVD-19 중증도 예측모델 기반 웹 서비스이다.

 

도메인과 ssl(보안인증) 모두 cafe24에서 구매했다.

 

도메인 적용은, cafe24관리자 콘솔에서 쉽게 설정 할 수 있다.

 

자, 이제 ssl을 적용시켜보자.

 


[순서]

구매/발급 후,

1. 인증서 및 키 다운로드

2. 인증서 합치기 (인증서 + 체인)

3. 개인키 암호화 풀기

4. nginx conf 수정

5. 확인

 


1. 인증서 및 키 다운로드

 

먼저 개인키를 포함한 각종 인증서를 다운로드 받는다.

4가지를 모두 받았다면(사실 3가지만 필요) 서버에 업로드한다.

 

 

2. 인증서 합치기

 

아래 명령어로 ssl.cer과 cain_all_ssl.cer 내용을 이어주고 [적당한이름].pem으로 출력한다.

$ cat ssl.cer chain_all_ssl.cer > domain.pem

 

에디터 툴을 통해 열어, 아래와 같이 되어있는지 확인하자.

만약 한줄로 이어져 있다면 '개행' 후 '저장'

 

 

3. 개인키 암호화 풀기

 

nginx에 적용된 개인키가 비밀번호가 있으면, 실행할때마다 암호를 쳐줘야한다.

번거롭기 때문에 암호를 제거해준다.

아래 명령어를 통해 새로운 키파일로 출력시킨다.

이때, 필요한 암호는 cafe24에서 인증서를 발급할때 지정했던 값이다.

$ openssl rsa -in ssl.key -out new_ssl.key

 

 

4. nginx conf 수정

# /etc/nginx/sites-available/default

server {
        listen 80 default_server;
        listen [::]:80 default_server;
		
        ...

		# SSL
        listen 443 ssl http2;
        ssl_certificate /경로/도메인명.pem;
        ssl_certificate_key /경로/new_ssl.key;

        if ($scheme != "https") {
                return 301 https://$host$request_uri;
        }

}

 

$ service nginx restart

 

 

5. 확인