11.Nas_1


★★★ 무료ssl 인증서 시놀로지작업_재설치 검증성공 ) 무료ssl 인증서 자동생성 Nginx Proxy Manager 시놀로지 도커에 설치 작업 2nd ssl인증서 적용




컨텐츠 정보


본문

★★★ 무료ssl 인증서 시놀로지작업_재설치 검증성공 ) 무료ssl 인증서 자동생성 Nginx Proxy Manager 시놀로지 도커에 설치 작업 2nd ssl인증서 적용

● HA작업_시놀로지작업) HAOS 의 NPM으로 서브 인증서 생성 시놀로지 2개의 서브도메인 https:// 적용하기 (주의요함 제거 하기)

https://11q.kr/www/bbs/board.php?bo_table=co3&wr_id=779

성공하여 시놀로지 서버로 1차 ssl 생성  성공 재설치 합니다

주요 에러 대응 요약
1) 디랙토리구성 을 초기 주어야 인증서 복사 가능
mkdir -p /volume1/docker/npm/data
mkdir -p /volume1/docker/npm/etc/letsencrypt
chmod 760 -R /volume1/docker/npm

2) 시놀로지 npm 설치 포트 및 공유기 정보 참조
NPM을 설정할 때 다소 비슷한 문제가 있었습니다.
호스트에 포트 80 및 443을 포트 포워딩했는지 확인하고 DNS가 올바르게 설정되었는지 확인하세요. 

시놀로지의 경우 443 포트를 dsm에서 점유하고있기때문에 타 포트를 적어주시고 포트포워딩을 해당포트로해주시면됩니다.
ex) 8080:80, 8443:443으로 매핑하고 포트포워딩시 공유기의 80을 8080으로 443은 8443으로요
3) 에러 발생시 종료 하지 않고  다음 명령을 주고  재save하여 ssl인증서 생성
도커 접속
ERROR:certbot._internal.log:Some challenges have failed.
을 해결 합니다.
docker exec -it npm  bash
들어가서
 python3 -m pip install certbot_dns_duckdns
4) 작업 스케쥴러로  보조 인증서 복사 합니다

cp /volume1/docker/npm/etc/letsencrypt/live/npm-2/*.*   /usr/syno/etc/certificate/_archive/1ehwGc/



=================== 작업 내용 ======

이미지 다운로드받기.


jc21 nginx-proxy-manager  검색 다운로드합니다

저는 검색 다운로드 진행

다운로드 완료한 이미지로  실행


3232235521_1682731644.7822.png

디랙토리구성 
mkdir -p /volume1/docker/npm/data
mkdir -p /volume1/docker/npm/etc/letsencrypt
chmod 760 -R /volume1/docker/npm


시놀로지 npm 설치정보 참조

NPM을 설정할 때 다소 비슷한 문제가 있었습니다.
호스트에 포트 80 및 443을 포트 포워딩했는지 확인하고
DNS가 올바르게 설정되었는지 확인하세요. 
전문가는 아니지만 조금이나마 도움이 되었으면 합니다
시놀로지의 경우 443 포트를 dsm에서 점유하고있기때문에 타 포트를 적어주시고 포트포워딩을 해당포트로해주시면됩니다.
ex) 8080:80, 8443:443으로 매핑하고 포트포워딩시 공유기의 80을 8080으로 443은 8443으로요


공유기구성

3232235521_1682830882.3297.png


npm 구성

3232235521_1682831670.4183.png

포트구성

3232235521_1682831421.0013.png

디랙토리 구성이 중요 > 나중에 인증서 연결이 가능 합니다

-주) 인증서 폴더 연결은 초기 볼륨연결이 진행이 되어 있는 상황에  컨테이너를   생성 합니다

     ===>  컨테이너를   생성 이후 볼륨 연결은 되지 않습니다

3232235521_1682831619.7986.png

현상태 진행

3232235521_1682831707.7861.png

3232235521_1682832179.0468.png

   

## first setting
81 포트로  실행 합니다
#Email:   
admin@example.com
#Password:
changeme
3232235521_1682832275.1544.png
changeme

3232235521_1682832357.027.png

3232235521_1682832493.4892.png

ssl로 진입

3232235521_1682832545.8844.png

*.11q.duckdns.org

11q.duckdns.org

5cbc776d-35db-4f4f-b4d9-eb47be3316e1

3232235521_1682832730.465.png

3232235521_1682832809.2442.png


주) 종료 하지말고  내용 확인

====================

Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-1" --agree-tos --email "ss1145@kakao.com" --domains "*.11q.duckdns.org,11q.duckdns.org" --authenticator dns-duckdns --dns-duckdns-credentials "/etc/letsencrypt/credentials/credentials-1"

Saving debug log to /tmp/letsencrypt-log/letsencrypt.log

Some challenges have failed.

Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/letsencrypt-log/letsencrypt.log or re-run Certbot with -v for more details.


    at ChildProcess.exithandler (node:child_process:402:12)

    at ChildProcess.emit (node:events:513:28)

    at maybeClose (node:internal/child_process:1100:16)

    at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)

----------------------

cat  /tmp/letsencrypt-log/letsencrypt.log

,,,


  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/auth_handler.py", line 212, in _poll_authorizations

    raise errors.AuthorizationError('Some challenges have failed.')

certbot.errors.AuthorizationError: Some challenges have failed.

2023-04-30 05:33:17,093:ERROR:certbot._internal.log:Some challenges have failed.

,,,,,

======문제후 진행 내용 =======

https://svrforum.com/docker/730947

정보 댓글 확인  duckdns에 대한 진행 합니다. 

도커 접속
ERROR:certbot._internal.log:Some challenges have failed.

을 해결 합니다.

docker exec -it npm  bash

들어가서

 python3 -m pip install certbot_dns_duckdns

3232235521_1682832917.2633.png


재save

3232235521_1682833117.8384.png


3232235521_1682833180.6748.png


다시 저장후 ssl인증서 생성 성공 했습니다


=======================

인증서는 어디로 저장 되나

[root@docker-npm:/]# find / -name *.pem

/etc/letsencrypt/live/npm-2/cert.pem

/etc/letsencrypt/live/npm-2/fullchain.pem

/etc/letsencrypt/live/npm-2/chain.pem

/etc/letsencrypt/live/npm-2/privkey.pem

/etc/letsencrypt/archive/npm-2/chain1.pem

/etc/letsencrypt/archive/npm-2/cert1.pem

/etc/letsencrypt/archive/npm-2/fullchain1.pem

/etc/letsencrypt/archive/npm-2/privkey1.pem


주) 설치시 볼륨지정을 해주어야 초기 생성이 파일스테이션에서 보입니다


3232235521_1682833484.1592.png


내 인증서는 어디에 있습니까?

3232235521_1682835025.8733.png


/volume1/docker/npm/etc/letsencrypt/live/npm-2/cert.pem
/volume1/docker/npm/etc/letsencrypt/live/npm-2/chain.pem
/volume1/docker/npm/etc/letsencrypt/live/npm-2/fullchain.pem
/volume1/docker/npm/etc/letsencrypt/live/npm-2/privkey.pem

의 연결이 

/volume1/docker/npm/etc/letsencrypt/archive/npm-2/cert1.pem
/volume1/docker/npm/etc/letsencrypt/archive/npm-2/chain1.pem
/volume1/docker/npm/etc/letsencrypt/archive/npm-2/fullchain1.pem
/volume1/docker/npm/etc/letsencrypt/archive/npm-2/privkey1.pem


cat  /volume1/docker/npm/etc/letsencrypt/live/npm-2/cert.pem

3232235521_1682834895.1633.png

시놀로지 인증서 저장위치는 
cd   /usr/syno/etc/certificate/_archive/

root@www11qkr:/usr/syno/etc/certificate/_archive# ll
total 48
drwx------ 7 root root 4096 Apr 29 12:15 .
drwxr-xr-x 8 root root 4096 Apr  8 19:07 ..
drwx------ 2 root root 4096 Apr 23 21:38 1ehwGc
-rw------- 1 root root    7 Apr  6 13:39 DEFAULT
-rw------- 1 root root 5231 Apr 29 12:15 INFO
drwx------ 2 root root 4096 Apr  5 04:35 jpXKGo
drwx------ 2 root root 4096 Apr 25 03:52 npm
drwx------ 2 root root 4096 Apr 23 15:26 npm-14
-rwx------ 1 root root 4070 Apr 29 12:15 SERVICES
-rw-r--r-- 1 root root   41 Apr  5 04:35 .syno-ca-cert.srl
drwx------ 2 root root 4096 Apr  6 13:31 Uri7Bc
root@www11qkr:/usr/syno/etc/certificate/_archive# cat  /usr/syno/etc/certificate/_archive/DEFAULT
Uri7Bc
root@www11qkr:/usr/syno/etc/certificate/_archive#


기존인증서 확인
cat  /usr/syno/etc/certificate/_archive/DEFAULT
3232235521_1682835434.5404.png

기존 인증서 보안 확인
3232235521_1682835367.4396.png



저는 보조 인증서 사용으로
초기에 보조 인증서 가져오기로 적용 된 디랙토리가  1ehwGc/ 되었습니다


root@www11qkr:/usr/syno/etc/certificate/_archive# cd 1ehwGc/
root@www11qkr:/usr/syno/etc/certificate/_archive/1ehwGc# ll
total 28
drwx------ 2 root root 4096 Apr 23 21:38 .
drwx------ 5 root root 4096 Apr 30 15:16 ..
-r-------- 1 root root 1870 Apr 23 21:38 cert.pem
-r-------- 1 root root 3749 Apr 23 21:38 chain.pem
-r-------- 1 root root 5619 Apr 23 21:38 fullchain.pem
-r-------- 1 root root 1704 Apr 23 21:38 privkey.pem
root@www11qkr:/usr/syno/etc/certificate/_archive/1ehwGc#
root@www11qkr:/usr/syno/etc/certificate/_archive/1ehwGc# ll /etc/letsencrypt/archive/npm-2
ls: cannot access '/etc/letsencrypt/archive/npm-2': No such file or directory
root@www11qkr:/usr/syno/etc/certificate/_archive/1ehwGc# ll /volume1/docker/npm/etc/letsencrypt/archive/npm-2
total 24
drwxr-xr-x 2 root root 4096 Apr 30 14:39 .
drwx------ 3 root root 4096 Apr 30 14:39 ..
-rw-r--r-- 1 root root 1639 Apr 30 14:39 cert1.pem
-rw-r--r-- 1 root root 1826 Apr 30 14:39 chain1.pem
-rw-r--r-- 1 root root 3465 Apr 30 14:39 fullchain1.pem
-rw------- 1 root root  306 Apr 30 14:39 privkey1.pem
root@www11qkr:/usr/syno/etc/certificate/_archive/1ehwGc#

작업 스케줄러에 복사 
cp /volume1/docker/npm/etc/letsencrypt/live/npm-2/cert.pem  /usr/syno/etc/certificate/_archive/1ehwGc/cert.pem
cp /volume1/docker/npm/etc/letsencrypt/live/npm-2/fullchain.pem  /usr/syno/etc/certificate/_archive/1ehwGc/fullchain.pem
cp /volume1/docker/npm/etc/letsencrypt/live/npm-2/privkey.pem  /usr/syno/etc/certificate/_archive/1ehwGc/privkey.pem
cp /volume1/docker/npm/etc/letsencrypt/live/npm-2/chain.pem  /usr/syno/etc/certificate/_archive/1ehwGc/chain.pem

로 복사 사용해야 합니다.

3232235521_1682836472.7152.png

mount /volume1/docker/npm/etc/letsencrypt/live/npm-2  /usr/syno/etc/certificate/_archive/1ehwGc

마운트가 안되네요 ????

복사로 테스트 성공 cp로  작업 스케쥴러에 root관리자로  등록 합니다.

cp /volume1/docker/npm/etc/letsencrypt/live/npm-2/*.*  /usr/syno/etc/certificate/_archive/npm/

3232235521_1682835367.4396.png

적용
cp /volume1/docker/npm/etc/letsencrypt/live/npm-2/*.*   /usr/syno/etc/certificate/_archive/1ehwGc/
3232235521_1682837472.6016.png


3232235521_1682837513.7843.png

변경 성공

작업 스케쥴러 적용

3232235521_1682837656.3259.png

cp /volume1/docker/npm/etc/letsencrypt/live/npm-2/*.*   /usr/syno/etc/certificate/_archive/1ehwGc/

3232235521_1682837694.9083.png

3232235521_1682837801.3924.png

☞ https://11q.kr 에 등록된 자료 입니다. ♠ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다♠1.png

1.png

뷰PDF add1,add2



관련자료

댓글 4

11qkr님의 댓글

저도 참고로...
Nginx Proxy Manager(NPM)을 도커로 설치해서 사용하시는 분은
적절한 디렉토리에 ssl-renew.sh 만드신후 (nano ssl-renew.sh)

docker exec -i npm certbot renew && docker restart npm
여기서 npm은 nginx proxy manager 컨테이너 이름입니다.

스크립 입력후 저장해 주시고...

chmod +x ssl-renew.sh 명령어로 실행권한 주시고

crontab에 실행 원하시는 기간 설정해서 등록해 주시면 됩니다.

이렇게 하면 NPM에 등록된 SSL 만료 기간에 따라 자동 갱신합니다.

===================>  작업 안해도 됨  자동 갱신  됨


전체 1,749 / 1 페이지
전체 1,749 / 1 페이지



♥간단_메모글♥


최근글


새댓글



PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
▶ 2024-05-05 16:59:22

오늘의 홈 현황


  • 현재 접속자♨ 267 명
  • 오늘 가입자※ 1 명
  • 어제 가입자※ 4 명
  • 주간 가입자※ 16 명
  • 오늘 방문자 1,598 명
  • 어제 방문자 2,141 명
  • 최대 방문자 13,042 명
  • 전체 방문자 4,305,261 명
  • 전체 게시물※ 8,556 개
  • 전체 댓글수※ 24,558 개
  • 전체 회원수 10,950 명

QR코드


☞ QR코드 스캔은 kakao앱 자체 QR코드

알림 0








최신글↑