SSL(보안서버인증서) 등록 (Cafe24 기준)
카페24 기준
개인키 | ssl.key |
인증서 | ssl.crt |
중개자인증서 | chain_ssl.crt |
체인인증서 | chain_all_ssl.crt |
* 열어서 확인해보면, 중개자인증서(chain_ssl.crt) 내용이 체인인증서(chain_all_ssl.crt) 와 같이 있음
* 그렇기에 ssl.crt + chain_all_ssl.crt 만 해도, 인증서 + 중개자인증서 + 체인인증서 가 됩니다.
1. 인증서 합치기 (cat 합칠파일1 합칠파일2 > 합쳐진파일명)
cat ssl.crt chain_all_ssl.crt > final.crt
(final.crt를 열어보시면 두 개가 합쳐져서 저장된 것을 확인할 수 있음)
* cat으로 합치는 경우, ssl.crt와 chain_all_ssl.crt 사이가 -----END CERTIFICATE----------BEGIN CERTIFICATE----- 이렇게 합쳐지는 경우가 있습니다. (붙어있는 상태에서 적용하면 인식하지 못함)
메모장이나 vi로
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
이렇게 엔터로 분리(-가 5개씩)시켜 저장하시면 됩니다.
2. nginx 재시작마다 비밀번호를 불어오지 않도록 키파일 비밀번호 없애기 (openssl rsa -in 암호로감싸진키파일명 -out 암호없이생성될키파일명)
openssl rsa -in ssl.key -out nopass_ssl.key
* 비밀번호 입력 (해당 비밀번호는 cafe24비밀번호가 아니라, 보안서버인증서를 구매했을 당시 별도로 입력한 비밀번호)
(ssl.key는 변경없이 암호로 감싸진 키파일 그대로, nopass_ssl.key는 암호가 없는 키파일이 됨)
3. nginx 설정
설정하신 nginx의 conf파일을 수정
1) /etc/nginx의 nginx.conf
2) /etc/nginx/conf.d/의 ***.conf
3) /etc/nginx/sites-enabled의 ***.conf파일
중 하나(혹은 직접 만들어서 연동한 디렉토리)
server {
...
# ssl_certificate /인증서파일위치/합본인증서.crt
ssl_certificate /etc/nginx/ssl/final.crt
# ssl_certificate_key /키파일위치/비밀번호없는키파일.key
ssl_certificate_key /etc/nginx/ssl/nopass_ssl.key
...
}
4. nginx 확인
nginx -t
정상이면 재부팅
5. nginx 재부팅(참고 : 요새는 reload만으로도 적용된다고 함)
systemctl nginx restart
or
systemctl nginx stop | systemctl nginx start