31 lines
1.0 KiB
Plaintext
31 lines
1.0 KiB
Plaintext
프로젝트: VaultKeeper (Nginx .htpasswd 관리 도구)
|
|
|
|
1. 백엔드 구현 (main.go)
|
|
|
|
언어: Go (표준 라이브러리 위주로 매우 가볍게).
|
|
|
|
기능:
|
|
|
|
GET /api/users: .htpasswd 파일을 읽어 유저 목록을 JSON으로 반환.
|
|
|
|
POST /api/users: username, password를 받아 htpasswd -b 실행.
|
|
|
|
DELETE /api/users/{username}: htpasswd -D 실행.
|
|
|
|
보안: 사용자 이름 입력값에서 쉘 인젝션이 발생하지 않도록 유효성 검사 로직 포함.
|
|
|
|
설정: .htpasswd 경로를 환경 변수 HTPASSWD_PATH에서 읽어오도록 설정.
|
|
|
|
2. 프론트엔드 구현 (index.html)
|
|
|
|
단일 파일 SPA로 작성하고 Tailwind CSS를 사용하여 깔끔한 UI 제공.
|
|
|
|
유저 목록 표시, 추가 폼, 삭제 버튼 구현.
|
|
|
|
3. 배포 가이드 (deployment.md) 생성
|
|
|
|
go build를 이용한 경량 바이너리 빌드 방법 (-s -w 옵션 포함).
|
|
|
|
터미널에서 최초 관리자 계정을 생성하는 명령어 안내.
|
|
|
|
이 서비스를 Nginx auth_basic 뒤에 배치하기 위한 location 블록 설정 예시. (8000번 포트 기준) |