* 공통사항으로 공유기 설정에서 80번 포트와 443번 포트를 NAS에 포트포워딩 시켜주어야 한다. 인증 후에는 포트포워딩을 다시 풀어줘도 사용하는데 지장은 없지만 재인증을 할 때는 다시 열어주어야 한다.
1. 기본 메뉴얼
(1) DSM -> 제어판 -> 보안 -> 인증서 -> 추가 클릭
(2) 새 인증서 추가 체크 확인 후 다음 클릭
(3) Let's Encrypt에서 인증서 얻기, 기본 인증서로 설정 체크 후 다음 클릭
(4) 등록할 도메인 이름과 이메일 주소 작성 후 적용 클릭
(5) 인증서 발급 완료
* 만약 다음과 같이 작업 실패 알림이 뜬다면 오류 발생 시 메뉴얼 참조
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 폴더에 업로드하자.
2. putty 같은 프로그램을 이용하여 나스에 SSH로 접속
3. 로그인 (시놀로지 DSM 아이디, 비밀번호와 동일)
4. 다음 명령어 입력
/usr/syno/sbin/syno-letsencrypt new-cert -d 도메인명 -m 이메일 주소 -v
5. 관리자 권한으로 로그인
- sudo su 를 입력한 후 비밀번호 입력
* 파일을 변경하기 위해서는 관리자 권한이 필요하다.
* 참고로 비밀번호를 입력해도 콘솔창에는 아무런 표시가 나타나지 않는다. 잘 입력되고 있는 것이므로 그냥 비밀번호를 치고 엔터를 눌러주면 된다.
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이 친절하게 이유를 알려줄 것이다.
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 명령어를 실행해보면 단계별 오류 메시지를 확인할 수 있다. 하지만 정확한 원인은 여전히 특정할 수 없으므로 참고용으로만 사용하자
'시놀로지 > 웹' 카테고리의 다른 글
[CSS] 글자 초과 시, 생략하는 법 (0) | 2022.09.27 |
---|