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. 확인