이번에 나스를 옮기면서 삽질을 여러번 했습니다.
1. 기존 나스에 설정해두었던 ACME설치방법을 완전히 까먹었었다는 것이 사건의 발단이었고
2. ACME 방식이 약간 변경이 있었다는 것
3. DSM7에서는 와일드카드 인증서가 발급이 안된다는 것으로 하루삽질을 했습니다 -_-
정식 ACME를 이용한, 시놀로지에 설치하는, (개발자가 추천하는)가장 스탠다드한 방법으로 하고자 했습니다.
블로그나, 팁등에는 개발자가 만들어놓은 툴을 이용하지 않고 과거의 방법으로 일일히 수동으로 옮겨주는 강좌가 대다수였었는데.... 그냥 가장 스탠다드하게 하고 싶었어요(삽질의 시작)
일단, 공식 가이드는 클라우드플레어를 기준으로 합니다. 다른 DNS서버를 쓰고 계신다면
https://github.com/acmesh-official/acme.sh/wiki/dnsapi
여기서 사용방법을 봐주세요.
https://github.com/acmesh-official/acme.sh/wiki/Synology-NAS-Guide
이게 공식 시놀로지 가이드이고,
요게 한글로 나와있는 가이드 중 가장 스탠다드하게 설명을 해줍니다.
아래부분은, 가이드대로 따라하다가 막힐때 참고하시면 됩니다.
1. 상기 시놀로지 인증서 삽입 및 자동 갱신은 admin 권한의 시놀로지 접근 아이디와 비밀번호가 필요합니다.
따라서, 비밀번호를 최대한 어렵게 하여 admin권한의 계정을 하나 생성하세요.(인증서 전용으로)
인증서를 시놀로지로 복사하는데 오류가 생긴다면
export SYNO_Create=1 을 입력해주세요(기본인증서를 덮는게 아니라 하나 새로 만드는 옵션)
2. export 명령어는 쉽게 얘기해서 리눅스에 값을 저장시켜 놓는것입니다.
예를 들어 export jay="1234" 로 해놓으면
jay를찍으면 1234가 답변으로 오게 해놓는 것이죠. 값을 틀리게 적었다면 그냥 다시한번 제대로된 값을 입력하면 덮어쓰여집니다.
입력해 놓은 값이 궁금하면 env 라고 입력하면 쫙 뜹니다.
값을 지우는 명령어는 unset 입니다.
unset jay 를 입력하면 해당 값이 사라지죠.
3. export시 "와 '를 주의하세요.
아니 그냥 속편하게 '를 쓰세요.
""를 쓰면 특수문자가 env에 제대로 저장이 안됩니다.
4. 클라우드플레어가 아닌 다른 것을 쓰는데 어떻게 하나요?
export CF_Key="MY_SECRET_KEY_SUCH_SECRET"
export CF_Email="myemail@example.com"
export CERT_DNS="dns_cf"
한글이던, 영문이던 이렇게 CF로 되어있는 부분이 클라우드플레어입니다.
duckdns를 쓰신다면 dnsapi 가이드에 따라
export DuckDNS_Token="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
export CERT_DNS="dns_duckdns"
를 입력해줍니다. cert dns부분이 dnsapi가이드에서 빠져있는데,
https://github.com/acmesh-official/acme.sh/tree/master/dnsapi 여기서 해당 ddns에서 .sh 를 제외하고 입력하시면 됩니다.
5. acme가 zerossl이 기본값으로 바뀌면서, 뭔가 오류가 날 수도 있는데 Let'scrypt로 바꾸는 방법은 인증서 발급 직전
acme 폴더에서
acme.sh --set-default-ca --server letsencrypt
를 입력해주시면 됩니다.
zerossl로 변경하는 방법은
acme.sh --set-default-ca --server zerossl
이라고 하면 됩니다.
그 외 옵션은 google 도 있습니다.(이건 되는지 모르겠네요)
6. api가 없는 경우(dnszi)
를 따라하시면 됩니다.