사이트 내 전체검색
[Synology] [시놀로지] Let's Encrypt 인증받기 (오류 대처법 포함)
하우코드
https://cmd.kr/server/1146 URL이 복사되었습니다.

본문

[시놀로지] Let's Encrypt 인증받기 (오류 대처법 포함)

시놀로지/웹 by Eu4ng 2020. 7. 23. 17:06
본문
좋아요 -댓글달기 11
* 공통사항으로 공유기 설정에서 80번 포트와 443번 포트를 NAS에 포트포워딩 시켜주어야 한다. 인증 후에는 포트포워딩을 다시 풀어줘도 사용하는데 지장은 없지만 재인증을 할 때는 다시 열어주어야 한다.


Let's Encrypt를 위한 포트포워딩
1. 기본 메뉴얼
더보기
 

2. 오류 발생 시 메뉴얼
(1) 작업 실패. DSM에 다시 로그인하고 다시 시도해 주십시오.


해당 오류 메시지
- 기본 사항 체크

닫기
이미 여러 번 체크해본 것일 수도 있지만 혹시 모르니 다시 한번 확인해보자

1. 방화벽 확인

- 해외 ip 차단 시 Let's Encrypt 사이트에서 DSM으로 접속이 불가능하여 오류  발생

2. 포트포워딩 확인

- 80, 443번 포트가 각각 시놀로지 80, 443 포트와 포트포워딩 잘 되어있는지 확인해보자

- 설정이 다 됐다면 직접 도메인 주소를 url 창에 쳐봄으로써 접속이 잘 되는지 보면 된다.

3. 웹서버 활성화 확인

- Let's Encrypt에서는 해당 도메인 주소로 접속이 가능한지를 판단한 뒤에 인증서를 발급해주기 때문에 만약 웹서버가 실행되지 않아 해당 도메인에 웹페이지가 나타나지 않는다면 인증서 발급을 안 해주기 때문에 확인해보자.

 

- 시놀로지 6.2.2-3 하위 버전에서 오류 발생 시 원인 및 해결책

닫기
오류가 발생하는 원인은 헤놀로지가 아닌 Let's Encrypt 측에 있다.

시놀로지 6.2.2-3 하위 버전에서는 Let's Encrypt에서 인증서를 발급하기 위해 ACMEv1 api를 사용중인데,

Let's Encrypt 측에서 ACMEv2 api로 전환하게 되면서 2020년 6월부터 새로운 도메인 인증서 발급이 중지되었다.

21년 초에는 인증서 갱신까지 중지될 예정이라고 한다.

 

이 문제를 해결하기 위한 가장 손쉬운 방법은 6.2.2-3 상위 버전으로 업그레이드 하는 것이다. 하지만 헤놀로지의 경우 업그레이드 자체가 불가능한 경우가 많기 때문에 이 경우에는 직접 ACMEv1에서 ACMEv2로 업그레이드 해야한다. 다음은 ACMEv1에서 ACMEv2로 직접 업그레이드 하는 방법이다.

 

1. syno-letsencrypt 파일을 다운로드 한 뒤, 이를 나스 공유 폴더에 업로드한다. 나중에 콘솔로 이 파일을 찾아야하므로 경로는 짧을수록 좋다. 고민된다면 그냥 web 폴더에 업로드하자.

syno-letsencrypt
0.28MB

syno-letsencrypt 파일을 web 폴더에 업로드
2. putty 같은 프로그램을 이용하여 나스에 SSH로 접속


3. 로그인 (시놀로지 DSM 아이디, 비밀번호와 동일)


putty 로그인 화면
4. 다음 명령어 입력

/usr/syno/sbin/syno-letsencrypt new-cert -d 도메인명 -m 이메일 주소 -v


현재 ACMEv1이 설치되어있음을 확인할 수 있다
5. 관리자 권한으로 로그인

- sudo su 를 입력한 후 비밀번호 입력

* 파일을 변경하기 위해서는 관리자 권한이 필요하다.

* 참고로 비밀번호를 입력해도 콘솔창에는 아무런 표시가 나타나지 않는다. 잘 입력되고 있는 것이므로 그냥 비밀번호를 치고 엔터를 눌러주면 된다.


ash-4.3#이 뜨면 성공
5. syno-letsencrypt 파일을 업로드한 폴더명을 이용하여 다음 명령어 입력

- cp /볼륨명/폴더명/syno-letsencrypt /usr/syno/sbin

- 예시: cp /volume1/web/syno-letsencrypt /usr/syno/sbin


입력 후 아무런 메시지도 나타나지 않는다면 명령어가 잘 실행된 것이다
 6. ACMEv2가 잘 설치되었는지 4번 과정을 다시 실행해본다. (생략 가능)

- /usr/syno/sbin/syno-letsencrypt new-cert -d 도메인명 -m 이메일 주소 -v

* 이 명령어가 성공적으로 실행된다면 let's encrypt 인증서 발급이 완료된다. 실패한다면 실패한 이유가 표시된다.

* 실패한 이유가 모르겠으면 ACMEv2가 잘 설치되었는지만 확인하고 putty가 아닌 DSM에서 발급을 시도해보자. DSM이 친절하게 이유를 알려줄 것이다.

 


ACMEv2가 잘 설치되어있음을 확인할 수 있다
7. DSM에 접속하여 기본 메뉴얼에 따라 Let's Encrypt 인증서를 발급받는다


 

(2) Let's Encrypt에 연결하지 못했습니다. 도메인 이름이 유효한지 확인하십시오.


해당 오류 메시지
- 원인 및 해결방법

닫기
이는 해당 도메인을 통해 웹페이지 접속이 불가능할 경우 뜨는 메시지이다.

원인은 포트포워딩, DNS, 역방향 프록시 등 다양한 가능성이 있기 떄문에 저 메시지만 가지고 원인을 특정할 수는 없다. 하지만 해결됐는지 안 됐는지 확인하는 방법은 간단하다.

 

직접 주소창에 도메인 이름을 쳤을 때, 웹 페이지에 접속이 되기만 하면 된다.

만약 웹서버를 운영하지 않고, 오로지 DSM만 사용하기 위해 ssl 인증서를 발급받고자 할 경우에는 패키지 센터에서 Web Station을 설치하거나 DSM->제어판->네트워크->DSM 설정에서 http와 https 포트 번호를 각각 80, 443번 포트로 변경해주면 된다. 하지만 후자의 경우 보안에 취약하므로 추천하지는 않는다.

(역방향 프록시로 80과 443을 각각 DSM http 포트와 https 포트로 연결해주어도 될 것 같긴 하지만, 직접 테스트는 못 해보았으며 이 역시 결국 보안에 취약하다)

 

* 만약 보다 정확한 원인(오류 메시지)을 알고 싶다면 putty와 같은 프로그램으로 SSH에 접속하여 /usr/syno/sbin/syno-letsencrypt new-cert -d 도메인명 -m 이메일 주소 -v 명령어를 실행해보면 단계별 오류 메시지를 확인할 수 있다. 하지만 정확한 원인은 여전히 특정할 수 없으므로 참고용으로만 사용하자

 

 ------------------
출처 : https://eu4ng.tistory.com/12

댓글목록

등록된 댓글이 없습니다.

1,139 (1/23P)

Search

Copyright © Cmd 명령어 13.59.123.182