● 시놀로지작업_성공2_삽질기) 무료ssl 인증서 자동생성/관리자 Nginx Proxy Manager 시놀로지 도커에 설치 작업
♨ 카랜더 일정 :
본문
● 시놀로지작업_성공2_삽질기) 무료ssl 인증서 자동생성/관리자 Nginx Proxy Manager 시놀로지 도커에 설치 작업
정리된 작업은
★★★ 시놀로지작업_재설치 검증성공 ) 무료ssl 인증서 자동생성 Nginx Proxy Manager 시놀로지 도커에 설치 작업 2nd ssl인증서 적용
https://11q.kr/www/bbs/board.php?bo_table=s11&wr_id=12471
=========== 테스트 내용입니다 ======
● HA작업_시놀로지작업) HAOS 의 NPM으로 서브 인증서 생성 시놀로지 2개의 서브도메인 https:// 적용하기 (주의요함 제거 하기)
https://11q.kr/www/bbs/board.php?bo_table=co3&wr_id=779
성공하여 시놀로지 서버로 생성 준비
시놀로지 도커에서 추가 사용 하자
mkdir -p /volume1/docker/npm/data
mkdir -p /volume1/docker/npm/letsencrypt
chmod 760 -R /volume1/docker/config
## first setting
81 포트로 실행 합니다
#Email: admin@example.com
#Password: changeme
====================
===============
참조 사이트
https://svrforum.com/board/754162
https://nginxproxymanager.com/setup/#running-the-app
https://siane.tistory.com/351
https://www.clien.net/service/board/cm_nas/16504152
https://github.com/jlesage/docker-nginx-proxy-manager#synology
================ 참조 사이트 중에 ==============
https://siane.tistory.com/351
참조하여 시놀로지 dsm 7.1 docker 이미지 다운로드 에서 성공 참조 합니다.
jlesage/nginx-proxy-manager
이미지 검색 다운로드 설치
1) 변경 포인트 : 포트 >> 아래대로
2) 변경 포인트 : 볼륨 추가
3) 나머지는 자동으로 수정없이 구성
정상적으로 8181포트 연결
설정후 동작 상태
http://192.168.0.7:8181/
접속 성공
Email: admin@example.com
Password: changeme
https://cafe.naver.com/koreassistant/10310
로그인후 토큰 복사 합니다
토큰
5cbc776d-35db-4f4f-b4d9-eb47be3316e1
DuckDNS 로 선택하면, dns_duckdns_token=your-duckdns-token 이라는 문구가 보일겁니다.
여기에서 your-duckdns-token 부분을 ->> duckdns.org 사이트에서 확인한 token 값으로 넣어주시면 됩니다.
변경
TZ = Asia/Seoul
삭제
SUP_GROUP_IDS
INSTALL_PACKAGES
==================
https://svrforum.com/svr/373710
실패
Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --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 /var/log/letsencrypt/letsencrypt.log Some challenges have failed. Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/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)
상기는 실패 시놀로지도커에서 안된다
포트
다시도커 파일 삭제 후 진행
파일관리자로 폴더 삭제
jc21 nginx-proxy-manager 파일로 재설치 진행
https://svrforum.com/nas/321989
의 방식으로 진행 합니다
이미지 다운로드받기.
docker 패키지를 실행시킨 뒤 이미지 -> 추가 -> URL에서 추가
https://hub.docker.com/r/jc21/nginx-proxy-manager
또는
jc21 nginx-proxy-manager 검색 다운로드합니다
저는 검색 다운로드 진행
다운로드 완료한 이미지로 실행
설정 > bridge
컨테이너 이름주고> 자동 재시작
포트를 주고
공유기포트 확인
letsencrypt
data
config
파일 스테이션에서 생성
폴더 연결후 다음으로 진행
http://192.168.0.7:8181/
접속 성공
Email: admin@example.com
Password: changeme
사용자 등록및 암호 등
DNS Test
Communication with the API failed, is NPM running correctly?
https://www.reddit.com/r/nginxproxymanager/comments/104q0bw/communication_with_the_api_failed_internal_error/
NPM을 설정할 때 다소 비슷한 문제가 있었습니다.
호스트에 포트 80 및 443을 포트 포워딩했는지 확인하고
DNS가 올바르게 설정되었는지 확인하세요.
전문가는 아니지만 조금이나마 도움이 되었으면 합니다
설정 변경 해보자 ( 포트설정 과 공유기 포워드 설정)
Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --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 /var/log/letsencrypt/letsencrypt.log
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/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)
문제 발생--------------------------중지
===============
https://svrforum.com/docker/730947
정보 확인
docker exec -it NPM_jc21-nginx-proxy-manager1 bash
python3 -m pip install certbot_dns_duckdns
명령어 주고
Error: Command failed: certbot certonly --config "
[root@docker-NPM_jc21-nginx-proxy-manager1:/app]# cat /etc/letsencrypt.ini
text = True
non-interactive = True
webroot-path = /data/letsencrypt-acme-challenge
key-type = ecdsa
elliptic-curve = secp384r1
preferred-chain = ISRG Root X1
[root@docker-NPM_jc21-nginx-proxy-manager1:/app]# ls /tmp/letsencrypt-lib
-------
[root@docker-NPM_jc21-nginx-proxy-manager1:/app]# cat /tmp/letsencrypt-log/letsencrypt.log
2023-04-30 01:52:07,605:DEBUG:certbot._internal.main:certbot version: 2.5.0
2023-04-30 01:52:07,606:DEBUG:certbot._internal.main:Location of certbot entry point: /usr/local/bin/certbot
2023-04-30 01:52:07,606:DEBUG:certbot._internal.main:Arguments: ['--non-interactive', '--quiet', '--config', '/etc/letsencrypt.ini', '--work-dir', '/tmp/letsencrypt-lib', '--logs-dir', '/tmp/letsencrypt-log', '--preferred-challenges', 'dns,http', '--disable-hook-validation']
2023-04-30 01:52:07,606:DEBUG:certbot._internal.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#dns-duckdns,PluginEntryPoint#manual,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2023-04-30 01:52:07,629:DEBUG:certbot._internal.log:Root logging level set at 40
2023-04-30 01:52:07,631:DEBUG:certbot._internal.display.obj:Notifying user:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2023-04-30 01:52:07,638:DEBUG:certbot._internal.display.obj:Notifying user: No renewals were attempted.
2023-04-30 01:52:07,638:DEBUG:certbot._internal.display.obj:Notifying user: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2023-04-30 01:52:07,638:DEBUG:certbot._internal.renewal:no renewal failures
[root@docker-NPM_jc21-nginx-proxy-manager1:/app]#
시놀로지의 경우 443 포트를 dsm에서 점유하고있기때문에 타 포트를 적어주시고 포트포워딩을 해당포트로해주시면됩니다.
ex) 8080:80, 8443:443으로 매핑하고 포트포워딩시 공유기의 80을 8080으로 443은 8443으로요
netstat -pant | grep -E ':80|:443'
포트인식 확인
동작을 재현 하는 단계:
"SSL 인증서" 탭으로 이동합니다.
"SSL 인증서 추가"를 클릭합니다.
"*.11q.duckdns.org, 11q.duckdns.org" 도메인을 입력합니다.
"DNS 챌린지 사용",
duckdns를 선택하고 API 키를 설정합니다.
*.11q.duckdns.org
11q.duckdns.org
5cbc776d-35db-4f4f-b4d9-eb47be3316e1
Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-4" --agree-tos --email "ss1145@kakao.com" --domains "*.11q.duckdns.org,11q.duckdns.org" --authenticator dns-duckdns --dns-duckdns-credentials "/etc/letsencrypt/credentials/credentials-4" 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)
Error: Command failed: certbot certonly --config "/etc/letsencrypt.ini" --work-dir "/tmp/letsencrypt-lib" --logs-dir "/tmp/letsencrypt-log" --cert-name "npm-4" --agree-tos --email "ss1145@kakao.com" --domains "*.11q.duckdns.org,11q.duckdns.org" --authenticator dns-duckdns --dns-duckdns-credentials "/etc/letsencrypt/credentials/credentials-4"
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)
================
shimss@www11qkr:~$ docker exec -it NPM_jc21-nginx-proxy-manager1 bash
_ _ _ ____ __ __
| \ | | __ _(_)_ __ __ _| _ \ _ __ _____ ___ _| \/ | __ _ _ __ __ _ __ _ ___ _ __
| \| |/ _` | | '_ \\ \/ / |_) | '__/ _ \ \/ / | | | |\/| |/ _` | '_ \ / _` |/ _` |/ _ \ '__|,,,중략
.,,,
File "/usr/local/lib/python3.7/dist-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 02:26:57,799:ERROR:certbot._internal.log:Some challenges have failed.
[root@docker-NPM_jc21-nginx-proxy-manager1:/app]#
다시 입력 저장 실행후 다시 에러
상태에서 공유기 를 80과 443를 추가 변경으로
이상태에서 저장 하니 정상적으로 발행/생성 되었습니다
[ 에러 발생 대응 주요 요약]
docker exec -it NPM_jc21-nginx-proxy-manager1 bash
python3 -m pip install certbot_dns_duckdns
에러 발생
이에러 상태에서
구글링 정보에 의하면
시놀로지의 경우 443 포트를 dsm에서 점유하고있기때문에 타 포트를 적어주시고 포트포워딩을 해당포트로해주시면됩니다.
ex) 8080:80, 8443:443으로 매핑하고 포트포워딩시 공유기의 80을 8080으로 443은 8443으로요
상기 상태는 docker의 포트 설정 상태 현제 입니다
포트 상기 상태에서 변경하지 않고
에러 상태에서 아래 변경
조치2)
상태에서 공유기만 80과 443를 추가 변경으로 ( 시놀로지 웹서버와 포트 80,443 겹치는 부분임)
다시 저장후 생성 성공 했습니다
뷰PDF 1,2
office view
관련자료
-
링크
댓글목록
11qkr님의 댓글
11qkr 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일
npm 업데이트 후
SUP_GROUP_IDS
등 공란 삭제후 dsm 재시작으로해결
♥간단_메모글♥
-
등록일 04.15가입 인사드립니다.댓글 6
-
등록일 04.09가입인사.댓글 4
-
등록일 03.03안녕하세여댓글 1
-
등록일 02.13
최근글
-
등록일 11.19
새댓글
-
등록자 삽질황제 등록일 11.21
-
등록자 changgeol 등록일 11.21
-
등록자 스노우캣 등록일 11.21
-
등록자 사다드 등록일 11.21
-
등록자 애완용 등록일 11.20
오늘의 홈 현황
QR코드
☞ QR코드 스캔은 kakao앱 자체 QR코드