feat: harden auth ops and deployment baseline
This commit is contained in:
@@ -46,7 +46,7 @@ TaxBaik.Web ASP.NET Core 앱 (포트 5001)
|
||||
- **Infrastructure**: DB 접근, Dapper 구현체, 마이그레이션 실행
|
||||
- **Application**: 서비스, DTO 매핑, 비즈니스 워크플로우
|
||||
- **Web (Pages/)**: 공개 홈페이지 (SEO 최적화, Razor Pages SSR)
|
||||
- **Web (Components/Admin)**: 관리자 백오피스 (실시간 UI, Blazor Server)
|
||||
- **Web (Components/Admin)**: 관리자 백오피스 (Blazor Server, 사용자 액션 기반 갱신)
|
||||
- **Web (Services/)**: 인증(JWT), 블로그, 문의 관리 등
|
||||
|
||||
### 2.3 기술 결정 이유
|
||||
@@ -56,8 +56,9 @@ TaxBaik.Web ASP.NET Core 앱 (포트 5001)
|
||||
- Blazor는 초기 응답이 shell HTML → SEO 불리 (블로그는 검색 유입이 핵심)
|
||||
|
||||
**왜 Blazor Server (관리자)인가?**
|
||||
- 관리자는 SEO 불필요 → WebSocket으로 실시간 UI 업데이트 가능
|
||||
- 복잡한 관리 UI를 쉽게 구현
|
||||
- 관리자는 SEO 불필요 → 복잡한 관리 UI를 .NET 컴포넌트로 구현 가능
|
||||
- 데이터 변경 시 전체 사용자에게 push/broadcast하는 기능은 기본값으로 두지 않는다.
|
||||
- 관리자 화면은 일반 웹페이지처럼 조회/저장/상태 변경 요청 시점에만 데이터를 갱신한다.
|
||||
|
||||
**왜 단일 앱 (통합 Web)인가?**
|
||||
- 공개 사이트와 관리자 화면을 같은 호스트와 PathBase에서 운영하면 라우팅과 인증 구성이 단순함
|
||||
@@ -325,7 +326,7 @@ location /taxbaik {
|
||||
}
|
||||
```
|
||||
|
||||
**참고**: 단일 `/taxbaik` 블록이 공개 사이트와 관리자(Blazor WebSocket)를 모두 처리합니다. 운영은 `5001` 통합 앱 기준이며, 설정 반영은 CI 배포로만 수행한다.
|
||||
**참고**: 단일 `/taxbaik` 블록이 공개 사이트와 관리자 Blazor 회로를 모두 처리합니다. 운영은 `5001` 통합 앱 기준이며, 설정 반영은 CI 배포로만 수행한다.
|
||||
|
||||
**Nginx 보안**:
|
||||
- `Upgrade` 헤더는 Blazor WebSocket 경로에만 허용하고, 필요 없는 location에는 넣지 않는다.
|
||||
|
||||
Reference in New Issue
Block a user