네트워킹 및 도메인
앱이 실행 중이지만 아직 아무도 접근할 수 없습니다. 이 튜토리얼에서는 실제 도메인, Let’s Encrypt를 통한 자동 TLS, 컨테이너를 자동으로 감지하는 Traefik 프록시를 설정합니다. Cloudflare의 도메인과 API 토큰이 필요합니다.
튜토리얼 보기
네 가지 단계
- Cloudflare API 토큰을 가져옵니다.
rdc에서 인프라를 구성합니다.- 서버에 푸시합니다.
- 프록시를 배포합니다.
1단계: Cloudflare API 토큰
Cloudflare 대시보드에서 내 프로필 → API 토큰으로 이동하여 Zone DNS Edit 권한으로 토큰을 만듭니다. 토큰 값을 복사합니다. 한 번만 볼 수 있습니다.
2단계: 인프라 구성
rdc에 공용 IP, 기본 도메인, 인증서 이메일, 토큰을 알립니다. --cert-email과 --cf-dns-token은 모든 머신에서 공유되므로 한 번만 설정합니다.
rdc machine infra set <machine-name> --public-ipv4 <server-ip> --base-domain <base-domain> --cert-email <cert-email> --cf-dns-token <cf-dns-token> 공개 IP, 기본 도메인, 인증서 이메일, Cloudflare API 토큰을 커맨드 라인에서 설정합니다. 인증서 이메일과 토큰은 모든 머신에서 공유되므로 한 번만 설정하면 됩니다.
rdc machine infra show <machine-name> 인프라 설정이 저장되었는지 확인합니다. 공개 IP, 기본 도메인, 인증서 이메일이 모두 표시되어야 합니다.
3단계: 서버에 푸시
rdc machine infra push <machine-name> 서버로 구성을 푸시합니다. Cloudflare에 DNS 레코드가 자동으로 생성되고 프록시 구성이 준비됩니다.
이 명령은 Cloudflare에 DNS 레코드를 자동으로 생성하고 서버의 프록시 구성을 준비합니다.
4단계: 프록시 배포
프록시 자체는 아직 실행되지 않습니다. 내장 proxy 템플릿에서, infra라는 작은 저장소 내부에 배포합니다:
rdc repo create infra -m <machine-name> --size 1G infra라는 이름의 작은 repo를 생성합니다. 프록시는 이곳에 위치하며, 애플리케이션 repo와 분리됩니다.
rdc repo admin template apply infra --template single-service 프록시 템플릿을 적용합니다. Traefik과 Let's Encrypt, Cloudflare DNS-01 챌린지를 위한 구성이 바로 사용할 수 있는 상태로 포함되어 있습니다.
rdc repo up infra 프록시를 시작합니다. Traefik이 container를 자동으로 감지하고, TLS 인증서는 Let's Encrypt에서 자동으로 발급됩니다. 이제 앱이 HTTPS를 통해 인터넷에서 접근 가능합니다.
완료되었습니다. Traefik이 실행 중입니다. 앱에 다음 주소로 접근할 수 있습니다:
myapp.my-app.my-server.yourdomain.com
Traefik은 5초마다 컨테이너를 감지합니다. TLS 인증서는 Let’s Encrypt에서 자동으로 발급됩니다. 수동 프록시 구성이 필요 없습니다.
다음: 프로덕션 모드.