> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 커스텀 도메인

> 게시된 Replit 앱을 위한 커스텀 도메인을 구매하고, 연결하고, 관리하세요.

커스텀 도메인을 사용하면 `www.my-incredible-app.com`과 같은 자신만의 도메인 이름을 게시된 Replit 앱에 지정할 수 있습니다.
Replit은 `<your-live-app-subdomain-name>.replit.app` 형식의 무료 서브도메인을 제공하지만, 커스텀
도메인은 방문자에게 브랜드 인지도와 신뢰를 심어주는 더 기억하기 쉬운 주소를 제공합니다.

게시 도구의 **도메인** 탭은 필요한 모든 것을 한곳에서 제공합니다. 다음을 할 수 있습니다.

* **새 도메인 구매하기**: Replit을 통해 새로운 도메인을 구매하고 한 번에 프로젝트에 연결합니다.
* **이미 소유한 도메인 연결하기**: 다른 등록기관에서 소유한 도메인을 연결합니다.
* **관리하기**: 연결된 도메인이 어떤 프로젝트를 가리키는지 확인하고, 갱신을 추적하고, 도메인 연결을 해제합니다.

커스텀 도메인 설정에 대한 간단한 개요는 다음 영상을 참조하세요.

<Frame>
  <iframe src="https://www.youtube.com/embed/rGYdyb58wJY" title="게시와 커스텀 도메인" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen />
</Frame>

다음 표는 Replit의 서브도메인과 커스텀 도메인을 비교합니다.

| 기능               | Replit 서브도메인 | 커스텀 도메인      |
| :--------------- | :----------- | :----------- |
| 호스트명 사용자 지정      | 서브도메인만       | 소유한 모든 도메인   |
| DNS 업데이트 시간      | 즉시           | 최대 48시간      |
| 보안 인증서 (TLS/SSL) | Replit 제공    | Replit 제공    |
| 가격               | 무료           | 도메인 제공업체에 지불 |

<Note>
  도메인을 연결하기 전에 앱을 먼저 게시하세요. **도메인** 탭은 앱이 성공적으로 배포된 후에
  사용할 수 있습니다.
</Note>

## Replit에서 새 도메인 구매하기

이미 소유한 도메인이 없다면 Replit을 벗어나지 않고도 도메인을 검색하고 구매할 수 있습니다. 새
도메인은 자동으로 프로젝트를 가리킵니다.

<Steps>
  <Step title="도메인 탭 열기">
    <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/deploy-icon.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=853c5ef39a8a7ac3648b3a2ce182fcb8" width="16" height="16" data-path="images/icons/deploy-icon.svg" /> **게시** 도구를 열고 **도메인** 탭을 선택하세요.
  </Step>

  <Step title="도메인 검색하기">
    **새 도메인 구매**를 선택하고 원하는 이름을 입력하세요. Replit은 `.com`, `.ai` 등
    다양한 확장자에서 사용 가능한 옵션을 보여줍니다. 어떤 이름을 지어야 할지 모르겠다면 Replit이
    앱의 기능을 바탕으로 사용 가능한 이름을 제안하므로, 처음부터 시작하지 않고도
    하나를 선택할 수 있습니다.

    <Frame>
      <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/buy-domain.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=b9370b56ffc2f86fba93b05309ed25d8" alt="사용 가능한 도메인을 .com, .ai 등의 확장자와 함께 보여주는 도메인 검색 인터페이스" width="2172" height="1222" data-path="images/deployments/custom-domains/buy-domain.png" />
    </Frame>
  </Step>

  <Step title="구매 및 연결">
    원하는 도메인을 선택하고 Replit 계정의 결제 수단을 사용해 구매를 완료하세요.
    추가적인 DNS 구성 없이 앱이 즉시 새 도메인에서 접근 가능해집니다.
  </Step>
</Steps>

Replit을 통해 구매한 도메인에는 추가 비용 없이 [WHOIS 프라이버시 보호](/ko/build/domain-purchasing)가 포함되고, 자동으로 갱신되며, 커스텀 DNS 레코드(예: 이메일용 MX 레코드)를 추가할 수 있습니다. 도메인 구매에 대한 가격, 갱신, 이전, 커스텀 DNS 레코드 등의 전체 참조 자료는 [도메인 구매하기](/ko/build/domain-purchasing)를 참조하세요.

## 이미 소유한 도메인 연결하기

다른 등록기관에서 도메인을 이미 소유하고 있다면 **도메인** 탭에서 프로젝트에 연결하세요. Replit은
DNS를 대신 구성해 주는 안내형 설정을 제공하며, 대체 방법으로 수동 설정도 지원합니다.

### 안내형 설정 (권장)

기존 도메인을 연결하는 가장 간단한 방법은 Replit이 대신 설정하도록 하는 것입니다. Replit은 서드파티 도메인 연결 서비스인
[Entri](https://entri.com)를 사용합니다. 권한을 부여하면 Entri가 DNS 제공업체에
로그인해 필요한 DNS 레코드를 대신 작성하므로, 직접 레코드를 복사할 필요가 없습니다.

<Note>
  DNS 레코드는 인터넷에 도메인이 어디를 가리켜야 하는지 알려주는 설정입니다. 예전에는 이를
  직접 설정하는 것이 도메인 연결에서 가장 까다로운 부분이었습니다. Replit은 이제 대부분의
  도메인과 제공업체에 대해 이 단계를 대신 처리합니다.
</Note>

<Steps>
  <Step title="도메인 탭 열기">
    <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/deploy-icon.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=853c5ef39a8a7ac3648b3a2ce182fcb8" width="16" height="16" data-path="images/icons/deploy-icon.svg" /> **게시** 도구를 열고 **도메인** 탭을 선택하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/01.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=5dc58a0cab37877093e55c9a2b3b1367" alt="도메인 탭" width="2422" height="1130" data-path="images/deployments/custom-domains/01.png" />
    </Frame>
  </Step>

  <Step title="연결할 도메인 입력하기">
    **직접 소유한 도메인 연결**을 선택하고 이미 소유한 도메인(예: `www.my-incredible-app.com`)을 입력하세요.
  </Step>

  <Step title="안내형 설정 승인하기">
    연결을 확인하세요. Replit이 안내형 흐름을 열고, DNS 제공업체에 로그인하여
    DNS 레코드가 자동으로 계정에 적용되도록 합니다. 안내형 흐름이 사용 중인 제공업체에서
    레코드를 작성할 수 없다면 직접 추가해야 할 레코드를 보여줍니다.
  </Step>

  <Step title="도메인 확인 대기하기">
    설정이 완료되면 도메인이 **확인됨** 상태로 표시됩니다. 보통 몇 분이면 완료되지만, DNS
    변경은 전파되는 데 최대 48시간이 걸릴 수 있습니다. 브라우저에서 도메인을 열어 작동하는지 확인하세요.
  </Step>
</Steps>

<Tip>
  사용 중인 제공업체가 안내형 설정을 지원하지 않거나 직접 레코드를 추가하는 것을 선호한다면
  도메인을 수동으로 연결할 수 있습니다. 아래 [도메인 수동 연결하기](#connect-a-domain-manually)를 참조하세요.
</Tip>

### 도메인 수동 연결하기

사용 중인 제공업체가 안내형 설정을 지원하지 않거나 직접 레코드를 추가하는 것을 선호한다면
아래 단계를 따라 커스텀 도메인을 수동으로 설정하세요.

<Warning>
  다음 중 하나에 해당하면 설정 문제가 발생할 수 있습니다.

  * 같은 도메인 이름에 대해 서로 다른 서버를 가리키는 여러 개의 `A` 레코드가 있는 경우.
  * Replit은 `A` 레코드만 지원하므로 같은 도메인에 `A`와 `AAAA` 레코드가 함께 존재하는 경우.
  * Cloudflare가 프록시하는 도메인 레코드인 경우, Replit이 해당 유형에 대해 보안 인증서를 자동으로 갱신할 수 없기 때문입니다. 레코드를 **DNS only**(회색 클라우드)로 설정하세요.
  * `replit-verify` `TXT` 레코드가 없거나 제거된 경우. SSL/TLS 인증서를 갱신하려면 Replit에 이 레코드가 그대로 유지되어야 합니다. 아래 [TXT 레코드 유지하기](#keep-the-txt-record-in-place)를 참조하세요.
</Warning>

<Steps>
  <Step title="커스텀 도메인 추가하기">
    텍스트 필드에 커스텀 도메인 이름을 입력하세요. 등록된 도메인을 사용하거나 서브도메인을 포함할 수 있습니다.

    예를 들어 `hat-tip.cc`는 등록된 도메인이고 `my.hat-tip.cc`는 서브도메인 `my`를 포함합니다.

    <Frame>
      <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/02.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=38485a8680fe6ae256ec2d7b0665a784" alt="DNS 설정 화면 스크린샷" width="1940" height="718" data-path="images/deployments/custom-domains/02.png" />
    </Frame>
  </Step>

  <Step title="도메인 등록기관에 DNS 레코드 추가하기">
    Replit은 **도메인 등록기관**에 제공해야 하는 DNS 레코드를 생성합니다.
    도메인 등록기관은 GoDaddy나 Namecheap처럼 도메인 이름을 관리하는 서비스입니다.

    Replit에서 `A`와 `TXT` 레코드 값을 복사해 도메인 등록기관의
    DNS 관리 섹션에 붙여넣으세요. 도메인 등록기관이 호스트명으로 `@`를 지원하지 않는다면 등록된 도메인 이름을 사용하세요.

    <Warning>
      **TXT 레코드를 그대로 유지하세요.** Replit은 DNS 검증을 통해 커스텀 도메인의
      SSL/TLS 인증서를 발급하고 갱신합니다. `replit-verify=...` `TXT` 레코드는 초기
      설정 중뿐만 아니라 도메인이 존재하는 전체 기간 동안 DNS에 남아 있어야 합니다. 검증 후
      레코드를 제거하거나 변경하면 다음 인증서 갱신이 실패하고, 결국 도메인이
      만료된 인증서를 제공하게 되어 브라우저에서 앱에 접근할 수 없게 됩니다.
      `TXT` 레코드를 `A` 레코드와 함께 영구적인 것으로 취급하세요.
    </Warning>
  </Step>

  <Step title="선택 사항: 서브도메인 추가하기">
    `www`를 포함한 서브도메인은 apex 도메인을 연결할 때 자동으로 확인되지
    않습니다. 서비스하려는 각 서브도메인은 **도메인** 탭에서 별도의 항목으로
    추가하고 자체 DNS 레코드를 등록기관에 부여해야 합니다.

    서브도메인을 추가하려면 apex 도메인을 연결했던 것과 같은 방식으로 **도메인** 탭에서
    연결한 다음, Replit이 생성한 DNS 레코드를 도메인 등록기관에 추가하세요.
    예를 들어 `my-subdomain.hat-tip.cc`를 추가하려면:

    * **게시** 도구에서 **도메인** 탭을 선택하고 `my-subdomain.hat-tip.cc`를 연결하세요.
    * 등록기관에서 호스트명이 `my-subdomain`이고 Replit이 새 항목에 대해 보여주는
      IP 주소를 가리키는 새 `A` 레코드를 추가하세요.
    * 등록기관에서 호스트명 `my-subdomain`에 일치하는 `replit-verify=...`
      `TXT` 레코드를 추가하세요 — 각 서브도메인은 apex와는 별도로 자체 `TXT` 레코드를 가집니다.

    <Note>
      **`www`는 서브도메인입니다.** `hat-tip.cc`를 연결해도 자동으로
      `www.hat-tip.cc`가 서비스되지는 않습니다. 방문자가 `hat-tip.cc`와
      `www.hat-tip.cc` 모두에서 앱에 접근하도록 하려면 `www.hat-tip.cc`를
      **도메인** 탭에 별도의 항목으로 추가하고 호스트명 `www`에 대해 생성된
      `A`와 `TXT` 레코드를 게시하세요. `www` 주소를 원하는 대부분의 빌더는
      등록기관에서 apex에서 `www`로(또는 반대로) 리디렉션도 함께 구성합니다.
    </Note>

    apex 도메인과 마찬가지로, 각 서브도메인에 대해 추가하는 `replit-verify=...`
    `TXT` 레코드도 DNS에 영구적으로 유지되어야 합니다. 아래
    [TXT 레코드 유지하기](#keep-the-txt-record-in-place)를 참조하세요.
  </Step>

  <Step title="DNS 전파 완료 대기하기">
    레코드를 추가한 후 온라인으로 전파될 때까지 기다려야 합니다.
    몇 분에서 최대 48시간이 걸릴 수 있습니다.

    전파가 완료되면 도메인 탭에 아래와 같이 도메인 이름 옆에 "확인됨" 상태가 표시됩니다.

    <Frame>
      <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/domain-verified.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=fe5c99d84ff0334119d2e94b2f07c99a" alt="확인된 도메인 상태 스크린샷" width="1866" height="890" data-path="images/deployments/custom-domains/domain-verified.png" />
    </Frame>

    브라우저에서 도메인을 열어 작동하는지 확인하세요.
  </Step>
</Steps>

## 도메인 관리하기

**도메인** 탭에는 프로젝트에 연결된 모든 도메인이 나열되며, 각각을 관리할 수 있습니다. 도메인을 선택하고
**관리**를 선택하면 다음을 할 수 있습니다.

* **도메인이 어떤 프로젝트를 가리키는지 확인합니다.** 이미 다른 프로젝트에 연결된 도메인을 연결하려고 하면
  Replit이 경고를 표시하고 대신 현재 프로젝트로 옮길 수 있게 해줍니다.
* **갱신 내역을 확인합니다(Replit에서 구매한 도메인의 경우).** 관리 화면에서 갱신 날짜와
  갱신 가격을 확인할 수 있으며, 도메인이 자동으로 갱신되는 것을 원하지 않는다면 **자동 갱신**을 끌 수 있습니다.
* **DNS 레코드를 편집합니다(Replit에서 구매한 도메인의 경우).** 예를 들어 도메인으로 이메일을
  사용하기 위한 MX 레코드처럼 커스텀 `A`, `TXT`, `MX` 레코드를 추가할 수 있습니다. [커스텀 DNS 레코드](/ko/build/domain-purchasing#custom-dns-records)를 참조하세요.
* **도메인 연결을 해제합니다.** 연결 해제하면 해당 도메인에서 앱 서비스가 중단됩니다. 도메인 자체는
  삭제되지 않으며, 다른 프로젝트에 연결할 수 있는 상태로 남습니다.

<Frame>
  <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/deployments/custom-domains/replit-domains.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=af1ea8f250c6ab83ff016fc2fe075851" alt="연결된 도메인과 연결 상태를 보여주는 도메인 관리 인터페이스" width="3176" height="1556" data-path="images/deployments/custom-domains/replit-domains.png" />
</Frame>

## 문제 해결

### 도메인 연결이 실패했거나 확인 대기 상태에서 멈춘 경우

연결이 실패하거나 도메인이 **확인 중** 상태에 머물러 있다면 다음을 확인하세요.

1. **DNS가 전파될 시간을 주세요.** 확인 작업은 몇 분에서 최대 48시간까지 걸릴 수 있습니다. 다른
   작업을 하기 전에 DNS 조회 도구를 사용해 레코드가 전역적으로 표시되는지 확인하세요.
2. **충돌하는 레코드를 제거하세요.** 루트 도메인에서 Replit을 가리키는 `A` 레코드는 하나만 유지하고,
   같은 호스트명에 있는 `AAAA`(IPv6) 레코드는 제거하세요 — SSL을 차단할 수 있습니다.
3. **Cloudflare 프록시를 끄세요.** `A` 레코드를 **DNS only**(회색 클라우드)로 설정하세요. 프록시 모드
   (주황색 클라우드)는 SSL 프로비저닝을 방해합니다.
4. **`TXT` 레코드가 있는지 확인하세요.** `replit-verify=...` `TXT` 레코드가 없거나 수정되면
   확인과 인증서 갱신이 차단됩니다. [TXT 레코드 유지하기](#keep-the-txt-record-in-place)를 참조하세요.
5. **도메인** 탭에서 도메인을 연결 해제한 후 다시 연결하면 새로운 인증서 발급을 유도할 수 있으니, 몇 분 기다린 후 새로고침하세요.

Replit을 통해 도메인을 구매했는데도 여전히 확인되지 않는다면 [Replit 지원팀에 문의하세요](https://replit.com/support).

### DNS 변경 사항이 아직 적용되지 않은 경우

DNS 변경은 즉시 적용되지 않습니다. 레코드를 추가하거나 변경한 후 전 세계에 전파되는 데 몇 분에서
최대 48시간까지 걸릴 수 있습니다. 이 기간 동안 앱은 `replit.app` 서브도메인에서 계속 작동합니다.
48시간이 지나도 **확인됨** 상태가 나타나지 않는다면 Replit이 보여주는 레코드와 자신의 레코드를 다시
비교해 보세요. 흔한 실수로는 마지막 점, 추가 서브도메인, 오래된 레코드가 있습니다.

### `CNAME` 레코드와 인증

커스텀 도메인에서 로그인이나 인증이 작동하는 데 `CNAME` 레코드는 필요하지 않습니다. 도메인이
확인되면 로그인은 게시된 도메인 전반에서 자동으로 작동합니다.

커스텀 도메인의 `CNAME` 레코드는 **이메일 전송**에만 필요합니다 — 예를 들어 확인 이메일이나
트랜잭션 이메일을 도메인에서 보낼 수 있도록 하기 위한 것입니다. 게시 도구가 `CNAME` 레코드를
추가하라는 경고를 표시한다면 이는 이메일 전송에 관한 것이며 로그인과는 관련이 없습니다. 레코드
추가는 도메인에서 이메일을 보낼 때만 필요하며, 도메인의 확인, SSL, 로그인을 막지 않습니다.
이메일 관련 설정 단계는 [Clerk 인증](/ko/features/auth-and-identity/clerk-auth)을 참조하세요.

### TXT 레코드 유지하기

Replit은 DNS 검증을 통해 각 커스텀 도메인의 SSL/TLS 인증서를 발급하고 갱신하며, 이는 설정 중에 추가한 `replit-verify=...` `TXT` 레코드에 의존합니다. `TXT` 레코드는 한 번만 설정하는 것이 아니라 도메인이 존재하는 전체 기간 동안 DNS에 남아 있어야 합니다. 도메인이 확인된 후 레코드가 제거되거나, 편집되거나, 교체되면 다음 갱신이 조용히 실패하고 기존 인증서가 결국 만료됩니다. 그러면 방문자에게 브라우저 보안 경고가 표시되고 앱에 접근할 수 없게 됩니다.

계정의 오래된 도메인에서 갑자기 인증서 오류가 나타나는데 새 도메인은 정상 작동한다면, 누락되었거나 수정된 `TXT` 레코드가 가장 가능성 높은 원인입니다.

영향을 받은 도메인을 복구하려면:

1. **게시** 도구를 열고 **도메인** 탭을 선택하세요.
2. Replit이 해당 도메인에 대해 보여주는 `replit-verify=...` `TXT` 레코드를 확인하세요.
3. 표시된 그대로 호스트명과 값을 포함해 도메인 등록기관에 `TXT` 레코드를 다시 추가하세요.
4. Replit에서 도메인을 제거한 다음 다시 추가해 새로운 발급을 유도하세요.
5. DNS 전파를 기다리고 **도메인** 탭에서 **확인됨** 상태를 다시 확인하세요.
