국내에 웹서비스를 https로 하기위해 ssl certicate을 설치하도록 도와주는 가이드들이 여럿 있지만 약간씩 오해할만한 내용들이 있어 필요한 내용만 요약하며, cafe24의 인증서 발급후 별도의 서버에 설치할 때를 대비해 기록을 남겨둔다.

  1. 인증서 합치기
    도메인인증서(인증서), 체인인증서 순으로 각 파일내 텍스트를 하나로 합친다.
echo "`cat ssl.crt`""\n""`cat chain_all_ssl.crt`" 

-----END CERTIFICATE----------BEGIN CERTIFICATE-----
아래와 같은 모양으로 병합되어야 하는에 위와 같은 결과가 나올수 있어서 스크립트를 조금 튜닝함.
-----END CERTIFICATE----
------BEGIN CERTIFICATE-----

  1. crt 파일의 passphrase 제거.
openssl rsa -in ssl.key -out ssl.key

이렇게 하지 않으면 매번 nginx 재시작할 때마다 sudo password 입력해야함.

  1. 인증서 관련 파일들을 적정위치에 두기
sudo mkdir /etc/nginx/ssl
sudo mv ~/Downloads/ssl.crt /etc/nginx/ssl/
sudo mv ~/Downloads/ssl.key /etc/nginx/ssl/
  1. 설정파일 수정
sudo vi /etc/nginx/nginx.conf
server {
  listen 443 ssl;
  server_name yourdomain.com;
  #ssl on; deprecated
  ssl_certificate /etc/nginx/ssl/ssl.crt;
  ssl_certificate_key /etc/nginx/ssl/ssl.key;

  ...
}
  1. nginx 재시작
sudo systemctl restart nginx
  1. 기타 설정
    특정 port 또는 location을 https 로 강제 연결되도록 할 때 server 나 location내에 추가.
return 301 https://$server_name$request_uri;
profile
개발하면서 또는 프러덕 관리하면서 겪는 기억해둬야하는 내용을 메모장 삼아 남긴다. Google Keep이나 메모 도구에 남기는 것과는 달리 잘 정리할 수 있어서 언젠가 들춰봐야할 내용들을 담은 글들이 게시된다.

0개의 댓글