docs: [서버정책] 서버 직접 접근 금지 규칙 추가

- SSH 접속, 파일 수정, 명령 실행 전면 금지
- Claude는 코드 작성/커밋까지만, 배포는 사용자/팀장 역할
- 2026-02-21 502 사고 재발 방지
This commit is contained in:
김보곤
2026-02-21 16:52:13 +09:00
parent 833a957d9e
commit 6fb6e4fdbe

100
CLAUDE.md
View File

@@ -122,6 +122,66 @@ fix: [auth] 로그인 시 세션 만료 오류 수정
--- ---
## 서버 직접 접근 금지 (최우선 필수 규칙)
> **경고: 운영/개발 서버에 SSH로 직접 접속하여 파일을 수정하거나 명령을 실행하지 마세요!**
> **2026-02-21 사고**: Claude가 서버에 SSH로 직접 접속하여 설정을 변경한 결과 502 Bad Gateway 발생. 개발팀장이 복구함.
### 핵심 원칙
서버는 **개발팀장이 관리**한다. Claude는 서버에 절대 직접 접근하지 않는다.
### 금지 사항
```
❌ ssh pro@114.203.209.83 ... 로 서버 접속 금지
❌ ssh hskwon@114.203.209.83 ... 로 서버 접속 금지
❌ 서버에서 파일 수정, 프로세스 종료/시작, 설정 변경 금지
❌ 서버에서 npm run build, npm start, node server.js 등 실행 금지
❌ 서버에서 git pull, composer install, php artisan 등 실행 금지
❌ scp, rsync로 서버에 파일 직접 전송 금지
```
### 허용 사항
```
✅ 로컬에서 코드 작성 및 수정
✅ 로컬에서 git add → git commit
✅ 사용자에게 git push 안내 (사용자가 수동으로 실행)
✅ 사용자에게 서버 배포 절차 안내 (사용자가 수동으로 실행)
```
### 배포 흐름
```
Claude 역할 사용자/팀장 역할
┌─────────────────┐ ┌─────────────────┐
│ 코드 작성/수정 │ │ │
│ git add │ │ │
│ git commit │──push──→ │ git pull │
│ │ │ 서버 배포 │
│ │ │ 서비스 재시작 │
└─────────────────┘ └─────────────────┘
```
### 서버 작업이 필요한 경우
사용자에게 명령어를 안내만 한다:
```
서버에서 다음 명령을 실행해주세요:
cd /home/webservice/api && git pull && composer install && php artisan migrate
```
### 체크리스트 (모든 작업 시)
- [ ] SSH 명령 사용하지 않음
- [ ] 서버 파일 직접 수정하지 않음
- [ ] 배포가 필요하면 사용자에게 안내만 제공
- [ ] git push까지만 Claude 역할
---
## React 빌드/배포 정책 (필수 규칙) ## React 빌드/배포 정책 (필수 규칙)
> **경고: React(Next.js) 빌드는 반드시 로컬에서 실행합니다. 서버에서 빌드 절대 금지!** > **경고: React(Next.js) 빌드는 반드시 로컬에서 실행합니다. 서버에서 빌드 절대 금지!**
@@ -142,47 +202,23 @@ fix: [auth] 로그인 시 세션 만료 오류 수정
### 빌드/배포 방법 ### 빌드/배포 방법
``` ```
로컬 (WSL) 서버 (114.203.209.83) Claude 역할 사용자/팀장 역할
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
npm run build── rsync ──→ │ node server.js 코드 작성/수정 │
(standalone) │ │ (포트 3001) git commit │──push──→ │ git pull
└─────────────────┘ └─────────────────┘ │ │ │ npm run build │
│ │ │ 서비스 재시작 │
└─────────────────┘ └─────────────────┘
``` ```
**배포 스크립트**: `/home/aweso/sam/react/deploy.sh`
```bash
# 개발 서버 배포
cd /home/aweso/sam/react
./deploy.sh dev
```
### standalone 모드
- `next.config.ts``output: 'standalone'` 설정됨
- 서버에 `node_modules` 불필요 (빌드 결과물에 필요한 것만 포함)
- 서버에서는 `node server.js`로 실행
### 빌드가 필요한 상황 ### 빌드가 필요한 상황
사용자에게 다음과 같이 안내한다: 사용자에게 다음과 같이 안내한다:
``` ```
React 코드가 변경되었습니다. 배포하려면: React 코드가 변경되었습니다. git push 후 서버에서 배포해주세요.
cd /home/aweso/sam/react && ./deploy.sh dev
``` ```
### 서버 정보
| 항목 | 값 |
|------|-----|
| 서버 주소 | `114.203.209.83` |
| SSH 유저 | `hskwon` |
| 프로젝트 경로 | `/home/webservice/react` |
| 실행 포트 | `3001` |
| 도메인 | `dev.codebridge-x.com` |
| 로그 | `/tmp/sam-react.log` |
--- ---
## 데이터베이스 아키텍처 (필수 규칙) ## 데이터베이스 아키텍처 (필수 규칙)