docs: add SVG diagrams, explicit concept sections and the diagram convention
Twelve SVG architecture diagrams cover the experiments whose documents had little or no structure drawing, embedded under a 구조 heading with a shared convention file. Seven documents carried their concepts under narrative headings and now have an explicit 개념 section so they can be found. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
98a74e90a5
commit
78b270559c
@@ -218,6 +218,43 @@ _oauth2_proxy-b26111fbd1fdab3ae2182e287001b02a ← ★ 옛 세션. 남아 있
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## 개념
|
||||
|
||||
### 상태를 어디에 두는가가 공유 문제의 성격을 정한다
|
||||
|
||||
| | 상태 위치 | replica 간 공유 |
|
||||
|---|---|---|
|
||||
| BFF | **서버 메모리 / Redis** | **저장소를 공유해야** 한다 |
|
||||
| oauth2-proxy | **쿠키 (서명·암호화)** | **secret 만 같으면** 된다 |
|
||||
|
||||
**공유할 상태가 없으면 공유 문제도 없다.** 대신 secret 이 단일 지점이 된다.
|
||||
|
||||
### 세션 티켓
|
||||
|
||||
`--session-store-type=redis` 를 쓰면 쿠키에는 **티켓**만 담긴다.
|
||||
|
||||
```
|
||||
_oauth2_proxy=<ticket>|<timestamp>|<mac>
|
||||
└─ Redis 키를 여기서 계산한다
|
||||
```
|
||||
|
||||
**secret 이 바뀌면 티켓을 못 푼다 → Redis 키를 계산할 수 없다 →
|
||||
정리도 못 한다.** 고아 세션이 남는 이유다.
|
||||
|
||||
### key 식별자가 없으면 회전에 겹침이 없다
|
||||
|
||||
B-6 에서 Keycloak 은 `kid` 로 여러 키를 구분해 무중단 회전을 했다.
|
||||
**oauth2-proxy 의 쿠키에는 그런 식별자가 없고, `--cookie-secret` 도 단수다.**
|
||||
|
||||
```
|
||||
식별자 있음 → 읽기는 여러 key, 쓰기는 하나 → 겹침 가능
|
||||
식별자 없음 → 전부 한 번에 바뀐다 → 겹침 불가
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 재현 절차 (명령어)
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user