Nginx 웹서버에 ssl을 연결하는 것을 시도하다가 에러를 만났다.
나중을 위해 오답노트를 작성해본다.
기존에 Certbot이라는 무료 인증서를 사용했지만 해당 인증서는 3개월마다 갱신해야하는 수고로움이 있었다.
자동화하는 방법도 있지만, 자동화하지 않고 3개월에 한 번씩 갱신을 했었는데,
해당 사이트를 위해 카페24에서 인증서를 구매했다는 사실을 최근에 알게되었다.
유료 인증서를 연결해보기로 했다.
우측 상단에 나의서비스관리 를 클릭하고
탭에서 인증서관리를 선택하면 인증서를 다운로드 받을 수 있었다.
아파치 웹서버는 아니지만, 상관없다.
개인키, 인증서, 중개자인증서, 체인인증서 이렇게 4개의 파일을 다운로드 받을 수 있다.
처음에는 4개 파일 모두 파일 다운로드 받아야한다고 생각했는데
개인키와 인증서 2개의 파일만 다운로드 받으면 된다~!
해당 파일을 다운로드 받고, FTP를 활용해서 서버로 옮겼다.
서버에서 적당한 위치에 인증서를 옮기고,
docker bind volume을 활용해서 Nginx 콘테이너까지 전달했다.
그런데, 계속 비밀키가 맞지 않다는 에러가 나는 것이다.
PEM_read_bio_PrivateKey() failed
나의 사수인 ChatGPT에게 물어봤고, SSL key에 암호화된 것을 풀면 된다는 솔루션을 알려줬다.
openssl rsa -in <key_file_path> -out <out_path>
rsa 방식으로 암호화 해지를 진행하니 비밀번호를 입력하라고 나오는 것이다.
처음에는 cafe24에 seal code라는게 있어서 그것을 해봤지만, 안되었고
cafe24 로그인할 때 사용했던 비밀번호를 입력하니 복호화가 되었다.
해당 파일을 다시 Nginx로 전달하니 드디어 성공할 수 있었다~!!
오늘도 하나 배웠당. 굳