> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 공개 접근

> Kubernetes 배포에서 게스트, 로그아웃한 방문자 및 신규 사용자의 접근을 허용합니다.

공유 프로젝트에 대한 게스트 접근, 공개 페이지, 자체 가입은 **web** 서비스가 읽는 환경 변수로 켭니다. 이후 real-time 서비스가 세션을 통해 게스트에게 서비스를 제공합니다. 각 스위치가 무엇을 여는지는 [공개 접근](https://ayakaleaf-pro.mintlify.site/ko/on-premises/configuration/overleaf-toolkit/authentication/public-access.md)에 설명되어 있습니다.

| | |
| - | - |
| 서비스 | web(그리고 에디터의 게스트를 위한 real-time), 모든 Ayakaleaf Pro 파드에서 실행. web이 시작될 때 읽음 |
| 파드 → 외부 | 가입 시 활성화 이메일을 보낼 때 SMTP 서버 |
| 상태 | 세션의 게스트 액세스 토큰, Redis의 가입 속도 제한 |
| 주기적 작업 | 없음 |

### 구성

필요한 스위치를 ConfigMap `overleaf-env`에 추가하세요.

```yaml title="30-config.yaml (additions)" theme={null}
  # Guests open link-shared projects without an account
  OVERLEAF_ALLOW_ANONYMOUS_READ_AND_WRITE_SHARING: "true"
  # Signed-out visitors may open /learn, /templates, /devs and view links
  OVERLEAF_ALLOW_PUBLIC_ACCESS: "true"
  # Self-registration: "true", or only some domains
  OVERLEAF_ALLOW_PUBLIC_REGISTRATION: "@example.com, @*.uni.example"
```

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
```

모든 값을 따옴표로 감싸세요. `@`로 시작하는 값은 YAML에서 반드시 따옴표로 감싸야 하며, 그렇지 않으면 `kubectl apply`가 파일을 거부합니다.

도메인으로 제한된 가입은 활성화 이메일을 보내므로, 파드에서 [이메일 전송](https://ayakaleaf-pro.mintlify.site/ko/on-premises/configuration/kubernetes/email-delivery.md)이 동작해야 합니다. SMTP 호스트는 ConfigMap에, `OVERLEAF_EMAIL_SMTP_PASS`는 Secret에 넣으세요.

### 여러 레플리카

추가 작업이 없습니다. 프로젝트에 대한 게스트의 접근 권한은 Redis의 세션에 보관되므로, 로드 밸런서가 어느 레플리카를 선택하든 에디터가 동작합니다.

### Kubernetes에서의 테스트

Kubernetes 1.37 환경에서 공개 접근에 대한 엔드투엔드 테스트가 통과했습니다. 레플리카 하나에서 `OVERLEAF_ALLOW_PUBLIC_REGISTRATION`을 `true`, 단일 도메인, 하위 도메인 와일드카드를 포함한 여러 도메인, `@*`로 설정한 자체 가입과 도메인 모드의 활성화 이메일(43개 케이스), `OVERLEAF_ALLOW_PUBLIC_ACCESS`를 사용한 `/devs`의 로그아웃한 방문자와 로그인 후에도 유지되는 게시된 스니펫(2개 케이스), 두 스위치를 모두 켠 상태에서 링크 공유 프로젝트의 로그아웃한 게스트(3개 케이스), 그리고 HAProxy 뒤의 세 레플리카에서 공개 접근과 함께 사용하는 OIDC(1개 케이스)입니다.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.