Freenom에서 무료 도메인(tk ml ga cf gq) 만들고 NPM 통해 와일드카드 SSL 발급 받기(Feat. Luadns)
오늘은 나만의 도메인을 만들고 와일드카드 인증서를 쉽게 발급받는 방법을 소개해드리고자 합니다!
duckdns를 통해 무료 도메인을 만들어도 되겠지만
xxx.duckdns.org 라서 도메인 길이도 길어지고
여기에 하위 도메인 생성 시 yyy.xxx.duckdns.org 로 3 차까지 길어지는 점이 불편하더라구요.
Freenom에서 무료로 1차 도메인을 만들 수 있는데
저는 여기서 만든 도메인을 오라클에 연동해서 사용하고 있습니다.
최대 12개월 간 무료인데다 만료 14일 전 연장 시 추가 12개월 무료로 이용 가능하고,
Luadns 통해서 API 받으면 NPM에서 와일드카드 인증서를 만들 수 있기 때문에
쉽게 만들어서 나만 쓰기 위한 용도로는 이거만한 게 없더라구요.
1. Freenom 에서 도메인 구입
우선 https://www.freenom.com/en/index.html?lang=en 에서 무료로 만들고자 하는 도메인을 검색해봅니다.
사이트가 느리기 때문에 인내심이 조금 필요합니다.
padoo로 검색했는데 5개 도메인 모두 이용이 가능하네요. 이 화면에서 Get it now! 클릭하지 마시고
다시한 번 https://www.freenom.com/en/index.html?lang=en 메인 페이지로 돌아와서 검색창에
padoo.ga 를 검색한 후 체크아웃 하시면 됩니다.
체크아웃 시 기간을 12개월로 변경하신 후 컨티뉴 누르시면 됩니다.
이후 이메일 인증을 거쳐 도메인 구입하면 무료로 도메인 구입이 완료됩니다.
2. LUADNS 가입 후 도메인 연동
이제 무료로 만든 도메인에 DNS 서비스로 클라우드 플레어나 DNSZi를 사용하면 좋겠지만
안타깝게도 클라우드 플레어와 DNSZi 정책 상 Freenom 무료 도메인은 등록이 불가능합니다.
그래서 대안으로 Luadns를 이용하기 위해 가입합니다.
Luadns는 최대 2개의 도메인 연동이 가능하므로 보유 도메인이 여러 개라면 이메일 주소 여러 개로 가입해두면 좋습니다.
https://api.luadns.com/signup
Luadns 가입 후 위에서 만들어둔 도메인을 Zones에서 추가해줍니다.
추가된 도메인을 수정하기 눌러서
하단에 Add New Record를 눌러서 자신의 서버 외부 주소(오라클 클라우드라면 공용 IP)를 입력한 후 저장해줍니다.
3. Freenom 에서 구입한 도메인 네임서버 Luadns로 변경하기
https://my.freenom.com/clientarea.php?action=domains
위 링크 접속 후 과정 1을 통해 구입한 도메인을 편집하기 위해 Manage Domain을 클릭합니다.
Manage Freenom DNS 클릭합니다.
Edit Nameservers 클릭합니다.
Use custom nameservers 클릭 후 과정 2에서 발급받은 주소 4개를 차례대로 입력해줍니다.
ns1.luadns.net
ns2.luadns.net
ns3.luadns.net
ns4.luadns.net
4. Luadns API 토큰 확보하기
https://api.luadns.com/settings
설정 페이지에서 Show Token 클릭 후 생성된 토큰값을 복사해두고 Enable API Access에 체크 후 저장해줍니다.
5. NPM 도커 설치하고 와일드카드 SSL 발급 받기
NPM 도커 설치 방법은 docker-compose 통해서도 가능하지만 간편하게 ssh에서 docker cli로 생성할 수도 있습니다.
sudo mkdir -p /docker/npm
sudo mkdir -p /docker/npm/letsencrypt
sudo docker run -d -p 80:80 -p 443:443 -p 81:81 --name npm --restart=unless-stopped -v /docker/npm:/data -v /docker/npm/letsencrypt:/etc/letsencrypt jc21/nginx-proxy-manager:latest
NPM 설치 후 서버IP:81 로 접속해서 admin@example.com / changeme 로 로그인 후 아이디 비번을 변경합니다.
아이디 비번 변경하고 NPM 접속 후 SSL Certificates 클릭합니다.
와일카드 인증서를 받급받아야 하기 때문에 Add SSL Certificate 클릭한 후
*.도메인주소
Use a DNS Challenge 클릭 후 LuaDNS 클릭
Luadns에 가입한 이메일 주소와 과정 4에서 복사해 둔 토큰 값을 붙여넣고 저장해줍니다.
이제 와일드카드 인증서를 발급 받았으니 Hosts에서 서브도메인 연결 시 해당 인증서를 적용해주면 모든 서브도메인에 대해 HTTPS 적용이 가능해집니다.
와.. 완전 꿀팁에 정성가득한 가이드글이네요...
DC처럼 개념글 모음같은걸 만들어야할까봐요 ㅎㅎ 구상해봐야겠습니다
제 글이 그 정도 수준이 될까 모르겠지만 감사합니다^^
깔끔하게 따라하기 좋을것같습니다~
https://blog.wsgvet.com/letsencrypt-wildcard-certification-issue-and-mariadb-install/
저도 예전에 비슷한 글을 블로그에 올린 적 있는데, 마지막 NPM 패키지 적용이 좋네요 ㅎㅎ
오 acme.sh를 이용한 방법이군요.
저도 NPM을 이용하는데.. 이게 참 편해서,, 안쓸수가없네요 ㅎㅎ
이 글도 우성짱님 사이트 자료를 참고해서 나온 결과물입니다^^
https://www.wsgvet.com/home/640
아하 그렇군요 ㅎㅎ 어쩐지 비슷한 흐름으로 ㅎㅎ
응용해서 쉽게 사용하기만 하면 되니 우성짱님 글이 항상 큰 도움이 됩니다^^
올려주신 내용에 대해 진행했는데 Proxy Host 부분에 설정을해도 제대로 연결이 안되네요.. 제가 뭘 놓쳤는지 파악이 안되어 댓글 남겨봅니다..
Forward Host IP 에 서버의 IP 주소 입력, Forward Port에 npm용 포트(81)을 입력하신 거 맞으신가요?
이미지만 보면 Online 상태이니 와일드카드 SSL 발급은 잘 되신거죠?
넵 ip 입력 했고 포트도 맞고 해당 작성된 Ip로 브라우저에서 바로 접속되는거 확인했습니다.
SSL발급이 작성하신데로 따라했는데 뭔가 실수가 있는지 알 수가 없네요
그동안 오라클 인스턴스마다 같은 방법으로 진행해서 문제 있던 적이 없었는데 나다용님은 왜 연결이 안되는지 모르겠네요.
혹시 NPM 도커 생성하실 때 networks 설정을 따로 하신 거 아닌가요?
제 가이드의 과정 5와 같이 NPM 도커 만들면 따로 networks 설정을 준 것이 없기 때문에 문제 없이 연결이 되거든요.
넵 따로 네트워크 지정 안했습니다. 볼륨 바인딩 된거 다 삭제하고 새로 인증서 발급 받고 프록시 호스트 지정해봤는데. 연결이 안되네요 ㅠㅠ
# 프리놈에 네임서버 지정하는게 24시간 소요 될 수 도 있다고 나오는데.. 적용이 안되서 이런현상이 나올 수도 있을까요..?
저는 24시간은 지난 후에 작업하긴 했어요. 그게 원인일지는 잘 모르겠네요.
와일드 카드 도메인 주소가 테스트 오류가 발생하는거 같습니다.. 집가서 다시 찾아보겠습니다..
네 시간 지나면 될수도 있으니 잘 해결되셨음 좋겠네요
Freenom, 옛날에도 썼었는데 혹시나 이 도메인을 자신의 블로그나 트래픽이 많은 웹사이트에 쓸거라면 추천 드리지 않습니다.
예전에 웹 트래픽이 많아지면 무료 도메인을 회수해서 돈 달라고 했다는 글을 봤습니다.
Trustpilot에서도 평점이 1점대입니다. https://www.trustpilot.com/review/freenom.com
저도 한 때 freenom 도메인으로 블로그를 운영했었는데 도메인이 어느샌가 사라져서 접속이 불가능했던 기억이 나네요. 싸게 .top이나 .cyou도메인을 사서 쓰는게 나을듯보입니다.
저도 최근에 만원주고 .uk 도메인을 샀네요ㅎㅎ
네 그래서 제가 글 서두에도 썼지만 쉽게 만들어서 나만 쓰기 위한 용도로 만들기에 적합합니다ㅎㅎ
참고로 제가 관리하는 메인 도메인은 kr 도메인 9900원에 만들었어요^^
cmt alert