본문 바로가기

IT/NAS

[자작NAS] 우분투 서버에 Docker로 Let's Encrypt 적용 (DuckDNS)

반응형

기존에 Docker를 통한 Let's Encrypt 설정 내용이 변경되었습니다.

기존 글은 아래 링크에서 확인 가능합니다.

2018/11/09 - [IT/NAS] - [자작NAS] 우분투 서버에 Docker로 Let's Encrypt 적용하기

DuckDNS 사용시 기존에는 서브 폴더 형태로 리버스 프록시 설정이 가능했습니다.

이제는 서브 도메인의 형태로 리버스 프록시 설정을 제공합니다.

서브 폴더는 https://<subdomain>.duckdns.org/plex 형태입니다.

변경된 서브 도메인 형태는 https://plex.<subdomain>.duckdns.org 형태로 접속 가능합니다.


먼저 DuckDNS 설정은 아래 링크에서 확인 가능합니다.

2018/11/09 - [IT/NAS] - [자작NAS] 우분투 서버에 Docker로 Let's Encrypt 적용하기

기존과 동일하게 1. Duck DNS 및 포트포워딩 설정 부분을 참조해서 설정하면 됩니다.

변경된 컨테이너 생성 명령어는 다음과 같습니다.

sudo docker create \
--cap-add=NET_ADMIN \
--name=letsencrypt \
-v /data/letsencrypt/config:/config \
-e PGID=$(id -g $USER) \
-e PUID=$UID \
-e EMAIL=<Email address> \
-e URL=<subdomain>.duckdns.org \
-e SUBDOMAINS=wildcard \
-e ONLY_SUBDOMAINS=true \
-e VALIDATION=duckdns \
-e DUCKDNSTOKEN=<duckdns token> \
-p 80:80 \
-p 443:443 \
-e TZ=Asia/Seoul \
--restart=unless-stopped \
linuxserver/letsencrypt

기존의 명령어가 서브 폴더 형태를 지원했지만 서브 도메인으로 변경되었습니다.

명령어의 <Email address> 부분은 실제 본인의 이메일 주소를 입력하면 됩니다.

그리고 URL의 <subdomain> 부분과 DUCKDNSTOKEN의 <duckdns token> 역시 실제 값으로 변경하면 됩니다.

토큰과 DuckDNS 도메인은 DuckDNS 웹사이트에서 확인 가능합니다.

이제 아래 명령어로 생성된 컨테이너를 실행합니다.

sudo docker start letsencrypt

검색 엔진의 수집 방지를 위해서 기존과 동일하게 config/nginx/ssl.conf 파일을 수정합니다.

sudo nano /data/letsencrypt/config/nginx/ssl.conf

파일의 마지막 줄에 아래 내용을 추가합니다.

add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";

리버스 프록시 설정은 subfolder가 아닌 subdomain 파일을 사용하면 됩니다.

프록시 설정 파일은 /config/nginx/proxy-configs 디렉토리에 위치하고 있습니다.

원본을 보존하고 파일명의 sample을 제거하기 위해서 복사 명령어를 사용합니다.

cd /data/letsencrypt/config/nginx/proxy-confs/
sudo cp plex.subdomain.conf.sample plex.subdomain.conf

파일을 수정하기 위해 아래 명령어를 입력합니다.

sudo nano plex.subdomain.conf

파일에서 다음과 같은 부분을 확인할 수 있습니다.

        proxy_pass http://$upstream_plex:32400;

해당 부분의 $upstream_plex를 다음과 같이 실제 plex가 설치된 서버의 IP로 변경하면 됩니다.

        proxy_pass http://192.168.1.123:32400;

프록시 설정이 필요한 서비스들을 모두 설정하고 컨테이너를 재시작합니다.

sudo docker restart letsencrypt

접속은 https://plex.<subdomain>.duckdns.org/ 형태로 하면 됩니다.

NAS 운영에 많이 쓰이는 일부 툴들의 프록시 설정을 제공하기 때문에 위와 같은 형태로 설정하면 됩니다.

반응형