여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. Synology - Wildcard SSL 인증서 등록하고 자동 갱신하기

Synology – Wildcard SSL 인증서 등록하고 자동 갱신하기

1개월전 작성

Synology NAS에 DDNS 주소로 등록해놓고 SSL을 등록해놓았는데 인증서 갱신이 자동으로 안되서 계속 오류가 나더라…

그래서 인터넷 찾아보다가 발견한 현호님 Hlog.

설명을 완전 잘해주셔서 바로 SSL 등록 완료.

자동 갱신까지 잘 되길 바라며 공부하기 위해 정리 해본다.

시놀로지에 Wildcard SSL 인증서 등록하고 자동으로 갱신하는 방법을 알아보자.

목차

준비

진행하기 전, 어떤 것들을 준비해야 하는지 알아보자.

SSL 등록

  1. 스크립트 복사하여 [Cloudflare User API Token], [Cloudflare 계정 이메일 주소], [나의 도메인], [기본 인증서 경로] 수정하기

    ⭐ 메모장에 스크립트 붙여넣기 » 키보드의 CTRL + H로 바꾸기 창 열기 » 위 칸에는 바꾸고자 하는 항목을 하나씩 [괄호]까지 입력 » 아래 칸에는 수정할 항목 입력 » [모두 바꾸기] 클릭

    wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh #acme.sh 다운로드
    chmod a+x acme.sh # 권한 설정
    mkdir /root/.acme.sh # 디렉토리 생성
    sh acme.sh --upgrade # 스크립트 업데이트
    sh acme.sh --set-default-ca --server letsencrypt # CA 변경
    export CF_Token="[Cloudflare User API Token]" # Cloudflare USER API Token
    export CF_Email="[Cloudflare 계정 이메일 주소]" # Cloudflare 계정 이메일 주소
    sh acme.sh --issue --dns dns_cf -d [나의 도메인] -d '*.[나의 도메인]' # 와일드카드 인증서 발급
    
    cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].cer /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/cert.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/ca.cer /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/chain.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/fullchain.cer /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/fullchain.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].key /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/privkey.pem # 인증서 등록
    cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].cer /usr/syno/etc/certificate/system/default/cert.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/ca.cer /usr/syno/etc/certificate/system/default/chain.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/fullchain.cer /usr/syno/etc/certificate/system/default/fullchain.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].key /usr/syno/etc/certificate/system/default/privkey.pem # 기본 인증서 등록
    
    synosystemctl restart nginx # nginx 서비스 재시작
  2. SSL 접속
    • 나는 주로 Windows를 사용하므로 Putty 프로그램을 이용하여 SSH에 접속 한다.

    login as: [사용자 이름 입력]
    test@192.168.0.3’s password: [암호 입력]
    Using terminal commands to modify system configs, execute external binary files, add files, or install unauthorized third-party apps may lead to system damages or unexpected behavior, or cause data loss. Make sure you are aware of the consequences of each command and proceed at your own risk.

    Warning: Data should only be stored in shared folders. Data stored elsewhere may be deleted when the system is updated/restarted.

    test@synology:~$
  3. 관리자 권한 얻기

    sudo -i
    test@synology:~$ suto -i
    Password: [암호 입력]
    root@synology:~#
  4. 수정해놓은 스크립트 붙여넣기 » 자동으로 한 줄씩 붙여넣기 된다.

    root@synology:~# wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh
    root@synology:~# chmod a+x acme.sh
    root@synology:~# mkdir /root/.acme.sh
    root@synology:~# sh acme.sh –upgrade
    root@synology:~# sh acme.sh –set-default-ca –server letsencrypt
    root@synology:~# export CF_Token=”[Cloudflare User API Token]”
    root@synology:~# export CF_Email=”[Cloudflare 계정 이메일 주소]”
    root@synology:~# sh acme.sh –issue –dns dns_cf -d [나의 도메인] -d ‘*.[나의 도메인]’
    root@synology:~#
    root@synology:~# cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].cer /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/cert.pem
    root@synology:~# cp /root/.acme.sh/[나의 도메인]_ecc/ca.cer /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/chain.pem
    root@synology:~# cp /root/.acme.sh/[나의 도메인]_ecc/fullchain.cer /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/fullchain.pem
    root@synology:~# cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].key /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/privkey.pem
    root@synology:~# cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].cer /usr/syno/etc/certificate/system/default/cert.pem
    root@synology:~# cp /root/.acme.sh/[나의 도메인]_ecc/ca.cer /usr/syno/etc/certificate/system/default/chain.pem
    root@synology:~# cp /root/.acme.sh/[나의 도메인]_ecc/fullchain.cer /usr/syno/etc/certificate/system/default/fullchain.pem
    root@synology:~# cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].key /usr/syno/etc/certificate/system/default/privkey.pem
    root@synology:~#
    root@synology:~# synosystemctl restart nginx
    root@synology:~#
  5. DSM 접속 » [제어판] » 보안 » 인증서 » SSL 등록 후 기본 인증서 등록까지 완료 되었다.

SSL 인증서 자동 갱신

  1. 스크립트 복사하여 [나의 도메인], [기본 인증서 경로] 수정하기

    ⭐ 메모장에 스크립트 붙여넣기 » 키보드의 CTRL + H로 바꾸기 창 열기 » 위 칸에는 바꾸고자 하는 항목을 하나씩 [괄호]까지 입력 » 아래 칸에는 수정할 항목 입력 » [모두 바꾸기] 클릭

    sh acme.sh --issue --force --dns dns_cf -d [나의 도메인] -d '*.[나의 도메인]'
    
    cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].cer /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/cert.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/ca.cer /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/chain.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/fullchain.cer /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/fullchain.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].key /usr/syno/etc/certificate/_archive/[기본 인증서 경로]/privkey.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].cer /usr/syno/etc/certificate/system/default/cert.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/ca.cer /usr/syno/etc/certificate/system/default/chain.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/fullchain.cer /usr/syno/etc/certificate/system/default/fullchain.pem
    cp /root/.acme.sh/[나의 도메인]_ecc/[나의 도메인].key /usr/syno/etc/certificate/system/default/privkey.pem
    
    synosystemctl restart nginx
  2. DSM 접속 » [제어판] » [작업 스케줄러]

  3. [작업 스케줄러] » [예약된 작업] » [사용자 정의 스크립트]

  4. 일반 설정

    작업: SSL Renew (중요하지 않음)
    사용자: root
  5. [스케줄]

    다음 날짜에 실행
    시작: 원하는 시작 일자 지정
    반복: 매월 반복 선택
    시작 시간: NAS를 사용하지 않은 시간으로 지정
  6. [작업 설정] » 사용자 정의 스크립트 입력 » [확인]

  7. 완성. 이제 매월 갱신한다.

참고

관련 포스트
Synology - Wildcard SSL 인증서 등록하고 자동 갱신하기 - 현재글

Mingg`s Diary
밍구
밍구
공부 목적 블로그

댓글

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.

This site uses Akismet to reduce spam. Learn how your comment data is processed.