Skip to main content
web 서비스(login-register 모듈)는 이메일 로그인, LDAP 로그인, 가입 및 비밀번호 재설정 시 reCAPTCHA v2(invisible)를 요구합니다. 키 생성과 각 설정의 역할은 reCAPTCHA를 참고하세요. 이 페이지에서는 이를 Kubernetes에 적용합니다.

구성

1

사이트 키를 ConfigMap에 넣기

사이트 키는 공개 정보입니다. 모든 로그인 페이지에 표시됩니다.
2

시크릿 키와 기기 기록 키를 Secret에 넣기

두 키를 함께 설정하세요. 사이트 키만 있고 시크릿 키가 없으면 모든 검사가 실패하여 아무도 비밀번호로 로그인하거나 가입하거나 비밀번호를 재설정할 수 없습니다. DEVICE_HISTORY_SECRET은 16진수 64자여야 하며, 컨테이너가 이를 생성하지 않습니다.
3

적용 및 재시작

그런 다음 모든 파드가 엔드포인트에 접근할 수 있는지 확인하세요. 파드는 연결 시도당 약 1초 후에 포기하며, 검사를 수행할 수 없는 로그인은 오류와 함께 실패합니다.

여러 레플리카

모든 레플리카가 DEVICE_HISTORY_SECRET을 공유해야 하며, Secret에 넣어 두면 공유됩니다. 값이 서로 다르면 한 레플리카에서 통과한 브라우저가 다른 레플리카에서 다시 캡차를 받게 됩니다. 속도 제한은 모든 레플리카에 걸쳐 Redis에서 집계됩니다.

Kubernetes에서의 테스트

Google 검증 엔드포인트의 모의 서버(overleaf-certs의 NODE_EXTRA_CA_CERTS로 신뢰)를 대상으로 한 Kubernetes 1.37 환경에서, reCAPTCHA에 대한 엔드투엔드 테스트(13개 케이스)가 통과했습니다. 레플리카 하나에서 로그인, 가입, 비밀번호 재설정이 각각 캡차가 없거나 실패한 경우 거부되고 통과한 경우 허용되는지, DEVICE_HISTORY_SECRET에서 생성된 기기 기록으로 브라우저가 캡차를 건너뛰는지, CAPTCHA_TRUSTED_USERS를 검증했고, HAProxy 뒤의 세 레플리카에서는 캡차를 사용한 LDAP 로그인을 검증했습니다.
마지막 수정일 2026년 11월 2일