강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

최상은님의 프로필 이미지
최상은

작성한 질문수

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

도커 기반 HTTPS 보안 서버 구축과 서브도메인 리버스 프록시 설정법

NPM 의 Certificates 작업 재질문

해결된 질문

작성

·

86

0

안녕하세요

image.png

Certifictes 진행에 위와 같은 error 메세지가 뜹니다. 도움을 좀 받을 수 있을까요?

image.png

도메인 관리페이지에서 서브도메인 생성하였고

 

image.png

NPM Proxy Hosts에서 서브도메인 등록하였습니다.

다음 단계인 인증서 생성후 SSL 항목에서 선택 저장으로 이해했는데 인증서 생성이 안되는 것 같습니다.

 

 

 

답변 5

1

남박사님의 프로필 이미지
남박사
지식공유자

안녕하세요. 상은님.

인증서 생성전에 생성하고자 하는 관련된 모든 내용이 먼저 Proxy Hosts에 등록을 해보시길 바랍니다. 지금 올려주신 스샷에서는 n8n 에 대해서만 프록시 호스트를 등록하신거 같은데 나머지 2개의 도메인에 대해서도 생성해보시기 바랍니다. 그리고 참고로 인증서는 여러개 섞인 모두 사용용으로 만들지 않으셔도 됩니다. 그냥 각각 n8n용 따로, 루트용 따로 포르테이너용 따로 생성하셔도 됩니다.

0

최상은님의 프로필 이미지
최상은
질문자

안녕하세요 남박사님
알려주신 가이드 확인후 다 시도해보아도 해결이 안되어 결국 AI에 질의하고 캡쳐올려 확인받고 문의하고를 연휴내내 무한반복 후 모든 가능성을 확인해보니 디폴트 계정정보를 개인 이메일로 변경을 안해서 생기는 에러였습니다. 강의 내내 알려주신대로 AI를 활용하는 방법과 자신감도 덕분에 습득하여 매우 뿌듯하고 감사합니다. 혹시라도 동일한 실수를 할수 있는다른 분들을 위해 기록을 남깁니다.

남박사님의 프로필 이미지
남박사
지식공유자

아 그런 문제가 있으셨군요. 계정 정보는 대부분 인증에 관한 부분에 연결되어있어서 변경이 되면 제대로 동작하지 않는 것들이 많습니다. 그래서 첨부터 내가 어떤 계정을 쓸지를 정해놓고 변동사항 없이 진행하는게 좋습니다.

그래도 스스로 AI 를 활용해서 해결하셨다니 정말 공부 많이 되셨을꺼라 생각합니다. 연휴내내 무한 반복하셨다고 하셨는데 얼마나 걸렸는지는 중요하지 않습니다. 원인을 찾으셨고 해결하셨다는게 가장 중요한 부분입니다. 성공에선 얻을게 별로 없습니다. 많이 실수하고 오류와 싸워야 배우는게 많습니다. 축하드립니다~~👏👏👏👏👏👏

0

최상은님의 프로필 이미지
최상은
질문자

안녕하세요 남박사님

시간을 두고 시도해보아도 인증서 생성에서 계속 오류가 나오네요. 인증서 생성은 하나식 따로 해보아도 동일한 에러가 발생합니다.

image.pngimage.png

도움 주시면 감사하겠습니다.

기다리는 동안에 api도 올렸는데 또 NPM 인증서에서 또 만나는군요 ㅜㅠ

남박사님의 프로필 이미지
남박사
지식공유자

골치아픈 상황이군요. 일단 제가 이런 상황이라면 변경해볼 몇가지 사항들에 대해 말씀드려보도록 하겠습니다.

 

image.png

위 화면은 해당 도메인들이 제대로 DNS 설정 되어있는지 제 컴퓨터에서 확인 해본 내용입니다. 해당 도메인으로 ping을 날렸을때 루트 도메인, 서브도메인이 정상적으로 목적지 주소가 뜨는걸로 봐서 제 윈도우 컴퓨터의 DNS에서는 문제 없이 인식 됨을 확인했습니다. 물론 이건 제가 사용하고 있는 KT 인터넷의 DNS 의 전파를 체크한 부분이므로 한국에서 문제 없이 동작한다고 볼 수 있을듯 합니다. 일단 이 부분만 봤을때 호스팅케이알에서의 DNS 설정은 문제가 없다고 판단 할 수 있습니다. 그럼 이제 서버상의 문제라고 확신할 수 있는데...

 

image.png

그래서 콘타보 VPS 에서 구동중인 환경에서 nslookup 도메인 명령어를 통해 해당 서브도메인을 추적했을때 어떻게 인식하는지를 확인했습니다.

단!!! 여기서 중요한 점은 제 콘타보 VPS 서버의 DNS는 1차 도메인서버로 구글DNS를 사용하고 2차로는 클라우드플레어의 DNS를 사용중입니다. 콘타보 VPS 서버에서 DNS 설정을 변경하는 방법은 인프런의 새소식란에 제가 자세하게 작성해 놓은 글이 있는데 이 글을 한번 참고하셔야 합니다. 콘타보 VPS 의 내부 DNS 를 사용할때 n8n에서 DNS 오류가 자주 발생하는 상황이 있어 DNS를 변경해서 구동중입니다. 여기서 만약 위의 nslookup 명령어를 통해 루트 도메인과 서브 도메인의 주소가 다르게 나온다면 100% DNS 서버의 문제로 봐야 합니다.

아니면 NPM 설정에서 http://도메인:5678 로 설정된 도메인 주소 대신 서버의 아이피 http://아이피:5678 혹은 루프팩 아이피 http://127.0.0.1 혹은 도커 컨테이너의 게이트웨이 아이피 http://172.17.0.1 로 설정하던가 또 아니면 직접 n8n 의 도커 컨테이너 내부 아이피를 확인하여 http://172.x.0.x 로 설정하는 방법도 모두 체크해볼 것 같습니다.

 

image.png

도커 컨테이너의 게이트웨이 아이피 확인은 위 그림에서 처럼,

 

ip addr show docker0 | grep "inet" 혹은
ip route | grep docker0

위 명령어를 통해 확인해볼 수 있습니다.

 

image.png

또한 도커 컨테이너의 내부 아이피 확인은 위 그림에서 처럼 확인 할 수 있는데,

 

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx-proxy-manager-app-1

위 코드를 복사하고 맨 뒤에 도커 컨테이너 이름만 변경해서 확인해볼 수 있습니다.

이 내용은 다른 분들도 보실 수 있게 정리하여 새소식 혹은 수업노트에 반영토록 하겠습니다.

0

최상은님의 프로필 이미지
최상은
질문자

답변 감사합니다. 서브도메인 n8n 과 Portainer 는 각각 5678, 9000포트로 입력하고 루트도메인도 도 Proxy Host 등록 필요시 몇번 포트로 작성하는지 문의 드립니다.

남박사님의 프로필 이미지
남박사
지식공유자

아까 제가 질문에 답변을 엄청 길게 달았는데 등록을 누르니 댓글 질문을 삭제하셔서 답변이 날라갔습니다. ㅜㅜ
일단 서브도메인 n8n, portainer에 해당하는 포트는 말씀하신대로 5678, 9000번 포트를 사용해서 등록 설정하시면 되는데 루트 도메인은 현재 강의의 진도와 맞지가 않아서 루트 도메인에 대해서는 추후 워드프레스 설정 후에 설정하시는걸 추천하긴 합니다. 루트 도메인은 80번 포트를 써야 하기 때문에 워드프레스 도커 설정이 끝나고 설정을 하시는게 좋을듯 합니다.

그런데 사실 이게 원래 프록시 설정을 되어있지 않아도 등록이 되어야 하는건데 만약 서브 도메인을 설정하신지 얼마 안된 상황이라면 해당 서브도메인 등 도메인 정보가 콘타보(외국 리전인경우)까지 전파되는데 물리적 시간이 필요할 수 있으니 조금 기다리셔야 하는 수도 있습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 최상은님.

Let’s Encrypt 인증서 발급 과정에서 발생하는 문제를 해결하기 위해 몇 가지 점검할 사항을 안내드리겠습니다. 주로 DNS 설정 및 서버 접근성과 관련된 문제가 원인일 수 있습니다.

해결 방안:

  1. DNS 설정 확인:

    • 도메인 설정에서 A 레코드와 CNAME 레코드가 올바르게 구성되었는지 재확인하세요.
    • energynex.kr의 A 레코드가 서버의 IP주소(62.84.183.42)로 제대로 설정되어 있는지 확인합니다.
    • n8n.energynex.krportainer.energynex.krenergynex.kr을 올바르게 가리키고 있는지 확인하세요. 올바른 설정이라면 해당 서브도메인들도 energynex.kr의 IP로 연결되어야 합니다.
  2. 포트 80 및 443의 열림 여부 확인:

    • Let’s Encrypt는 기본적으로 HTTP(80)로 접근 가능해야 인증서를 발급할 수 있습니다. 방화벽 및 서버 설정에서 포트 80과 443이 열려 있는지 확인하세요.
    • HTTP 접근이 가능해야 하기 때문에 이 포트들을 미래의 인증서 요청을 위해 열린 상태로 유지해야 합니다.
  3. Nginx 설정 점검:

    • Nginx Proxy Manager에서 프록시 호스트에 대해 설정한 도메인 및 포트가 올바르게 설정되어 있는지 확인하세요. 특히, n8n.energynex.kr은 5678 포트를 가리키도록 설정되어 있음을 확인했지만, HTTPS 설정이 필요한 경우에는 이 설정을 추가하고 SSL 선택 후 저장합니다. 이때 포트 변경이나 프록시 설정 오류가 없는지 점검하세요.
  4. 로그 확인:

    • Nginx Proxy Manager 및 Let’s Encrypt 관련 로그를 확인하여 어떤 오류가 발생하고 있는지 살펴보세요. 이는 Nginx 설정이나 도메인 문제를 좀 더 자세히 파악하는 데 도움이 될 수 있습니다.
  5. 기타 참고 자료:

이 방법들을 통해 문제를 해결할 수 있기를 바랍니다. 각각의 설정을 점검하시면서 오류를 함께 수정해보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

최상은님의 프로필 이미지
최상은

작성한 질문수

질문하기