👨‍💻 Dev/Web

[OMV NAS] Nextcloud 인증서 적용하기

Scian 2022. 12. 26. 01:21

letsencrypt와 같은 서비스를 이용하여 무료 인증서를 만드는 것 자체는 다양한 매뉴얼이 존재하므로 스킵.

(본 포스팅에서는 macOS Ventura를 기준으로 하여 작성하였습니다.)

간단하게 설명하면, 아래 명령어를 치고, 시키는 대로 사이트 주소와 이메일 등을 입력하고, DNS 제공자에서 챌린지 TXT를 업데이트해 주면 된다. (DNS 접근 권한이 필요하다.)

sudo certbot certonly --manual -v --preferred-challenges dns

macOS 기준, manual로 letsencrypt로 인증서를 만들면 /private/etc/letsencrypt/archive/[사이트주소] 에 다음과 같은 네 개의 파일이 생성된다.

여기서 cert1.pem 파일과 privkey1.pem 파일을 텍스트 편집기나 메모장 등 편집 가능한 프로그램으로 열면, CERTIFICATE 정보와 KEY 정보를 확인할 수 있다. (아래는 생략된 형태로, 실제로는 약 30줄에 달하는 내용이 적혀있을 것이다.) 이 두가지를 각각 복사하거나, 메모장에 저장해 둔다.

-----BEGIN CERTIFICATE-----
MIIFIz************
.....
***********AKY=
-----END CERTIFICATE-----

(cert1.pem)
-----BEGIN PRIVATE KEY-----
MIIEv**************
.....
**********epMpFsA==
-----END PRIVATE KEY-----

(privkey1.pem)

그 후, Portainer의 container에서 nextcloud 컨테이너를 선택하고, console에 접속한다.

console에서 아래 두 명령어를 실행한다.

touch cert1.crt
touch cert1.key

그 후, nano 명령어를 이용하여 cert1.crt에 cert1.pem의 내용을, cert1.key에 privkey1.pem의 내용을 붙여넣는다.

nano 에디터에서 ctrl + o, ENTER (Return), ctrl + x를 차례로 눌러 저장 후 빠져나올 수 있다.

이후, 아래 명령어를 입력한다.

cd ..
cd nginx
nano ssl.conf

여기서 ssl_certificate 값과 ssl_certificate_key 값을 각각 아까 만들어 준 cert1.crt와 cert1.key로 바꾸어 준다.

그런 다음, Portainer의 컨테이너 화면으로 돌아가 nextcloud를 재실행해 주면 SSL 적용이 완료된다.

질문이 있다면 댓글로 남겨주세요.

반응형