[Web station에 대한 고찰 4부] 와일드 카드 인증서 발급받기
오랜만에 짬을내어 글을 다시 써봅니다.
오늘의 주제는 시놀로지에서 와일드카드 인증서 발급받기입니다.]
NPM은 lets encrypt 인증서를 발급받을수 있지만 API모드만 지원하고 DNS모드를 지원하지않아서
도메인서버를 직접운영하는경우에는 와일드카드인증서를 자동으로 발급받을수 있다라는 NPM의 장점을 누릴수가 없습니다.
본 내용은 DNS모드를 이용한 인증서 발급받기 입니다.
우선 시작하기전에 시놀로지의 SSH를 활성화 해주시길 바랍니다.
그 이후에 윈도우의 처맨드창을 실행시켜주시면 됩니다.
주의 : 본 가이드를 따라하실때는 root계정으로 하시게되면 여러모로 피곤해집니다.
ssh [사용자계정]@NAS IP 를 입력합니다.
SSH에 접속하기전에 확인절차가 있을수도 있는데 YES를 입력하시면 위와같은 화면이 나옵니다.
인증서를 발급받는 방법은 여러가지가 있으나 저는 acme.sh를 유용하게 사용하므로 이를 예로 들도록 하겠습니다.
acme.sh 를 wget명령어로 다운로드 해줍니다.
$ wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh
주의 : 별도의 다운로드 경로를 설정하지 않고 현재 위치에 다운받는 방식이므로 미리 본인이 사용할 폴더까지 cd명령어를 사용하여 이동후에 명렁어를 실행하시길 바랍니다.
다운받은 acme.sh는 권한설정을 해줍니다.
$ sudo chmod a+x acme.sh
let’s encrypt인증서는 3개월마다 갱신을 해야하므로 인증시점 도래 알림을 받을 계정(메일주소)를 등록해야합니다.
$ /var/services/homes/사용자 이름/acme.sh --register-account -m [이메일 주소] --server zerossl
계정이 등록되면 계정파일이 .acme.sh폴더에 생성되므로? 지우시면 안됩니다.
인증서를 발급받을 서버(lets encrypt)를 설정해줍니다.
$ /var/services/homes/사용자 이름/acme.sh --set-default-ca --server letsencrypt
여기까지가 준비과정입니다.
사실 인증서 발급은 너무나도 간단하기에 코드 한줄이면 해결되거든요 하하;
$ /var/services/homes/사용자 이름/acme.sh --issue --dns --force -d 내 도메인 -d *.내 도메인 --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt
이렇게 코드한줄로 인증서가 생성되고 경로를 알려줍니다.
5부에서는 시놀로지의 인증서 관리방법 으로 돌아오겠습니다.
코드 정리
$ wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh
$ sudo chmod a+x acme.sh
$ /var/services/homes/사용자 이름/acme.sh --register-account -m [이메일 주소] --server zerossl
$ /var/services/homes/사용자 이름/acme.sh --set-default-ca --server letsencrypt
$ /var/services/homes/사용자 이름/acme.sh --issue --dns --force -d 내 도메인 -d *.내 도메인 --yes-I-know-dns-manual-mode-enough-go-ahead-please --server letsencrypt
Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 60
Can not init api for: https://acme-v02.api.letsencrypt.org/directory.
Sleep 10 and retry.
로그확인하시면 다시 코드를 입력하라는 메시지가 올라와있을거에요
네임서버에 코드수정하시고 renew하시면 진행됩니다.
콘솔에서 nginx conf어떤 부분을 보면 될까요
cmt alert