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

# 배포 모드

> Direct와 Enterprise single-443 중 어떤 방식을 선택할지 그림과 표로 비교합니다.

# 배포 모드

FRP Auto Deploy의 server deployment mode는 **Direct**와 **Enterprise single-443** 두 가지입니다.

NAT는 별도 모드가 아니라 외부 network topology입니다.

## 어떤 모드를 선택하나요?

```mermaid theme={null}
flowchart TD
    A[시작] --> B{Client network가\n일반 endpoint의 verified TLS를\n정상 허용하나요?}
    B -->|예| D[Direct 사용\n기본 권장]
    B -->|아니오 / non-443 TLS reset| C{Public TCP 443에서\nEnrollment와 FRP control을\n함께 처리 가능?}
    C -->|예| S[Enterprise single-443]
    C -->|아니오| N[Upstream network policy 수정\nInsecure fallback은 지원하지 않음]
```

## Direct

```mermaid theme={null}
flowchart LR
    C[Remote Client] -->|FRP control TCP 443| S[FRP Server]
    C -->|Enrollment HTTPS TCP 6099| S
    U[Internet user] -->|Published TCP 6000-6098| S
```

| 용도                            | Public TCP | 기본 listen |
| ----------------------------- | ---------: | --------: |
| FRP control                   |        443 |       443 |
| Enrollment / management HTTPS |       6099 |      6099 |
| Published services            |  6000-6098 | 6000-6098 |

## Enterprise single-443

```mermaid theme={null}
flowchart LR
    C[Remote Client] -->|HTTPS + FRP WSS TCP 443| FE[Public Frontend]
    FE -->|Enrollment| A[127.0.0.1:6099]
    FE -->|FRP control| F[127.0.0.1:7000]
    U[Internet user] -->|6000-6098| P[Published services]
```

<Warning>
  single-443에서 backend `6099`, `7000`은 Internet에 직접 노출하면 안 됩니다.
</Warning>

## 요약 비교

| 항목                      | Direct         | single-443           |
| ----------------------- | -------------- | -------------------- |
| 기본 권장                   | **예**          | Enterprise 제약 환경에서만  |
| Public FRP control      | 443            | 443 via WSS          |
| Public Enrollment HTTPS | 6099           | 443                  |
| Published services      | 6000-6098      | 6000-6098            |
| Internal 6099           | normal listen  | loopback backend     |
| Internal 7000           | normal path 아님 | loopback FRP backend |

## 모드 변경

Direct ↔ single-443 변경은 maintenance-window cutover입니다. Identity/CA/token/registry/public-port reservation을 유지하도록 설계되지만 client transport가 새 topology와 맞아야 합니다.

```bash theme={null}
sudo frpctl show status
sudo frpctl doctor
```
