docs: nginx/TLS 상태 정보 추가 및 포트 정보 수정

- 2025-09-15 기준 nginx/TLS 현재 상태 상세 기록
- auth-server 포트 9000으로 수정 (8000 아님)
- 인증서 위치, nginx 설정 파일 라인 번호 등 상세 정보 추가
This commit is contained in:
happybell80 2025-09-15 12:19:07 +09:00
parent 2e1dd1153f
commit 1dd9ae697a

View File

@ -186,3 +186,79 @@ server {
3. **마이크로서비스 구조**: 각 서비스(인증, API, 로빙)를 독립적으로 관리
4. **SSL 설정 패턴**: HTTP는 HTTPS로 리다이렉션, HTTPS 블록에 실제 프록시 설정
5. **nginx-infra 워크플로우**: 로컬 수정 → Git push → Gitea Actions → 서버 배포
## nginx/TLS 현재 상태 (2025-09-15 확인)
### 443 포트 사용 현황
```bash
sudo ss -tlnp | grep 443
# nginx (PID: 1732569)가 443 포트 사용 중
```
### nginx 설정 파일 위치
- **메인 설정**: `/etc/nginx/sites-available/default`
- **활성 설정**: `/etc/nginx/sites-enabled/default` (심볼릭 링크)
- **실행 중 설정 확인**: `sudo nginx -T`
### SSL 인증서 위치 및 상태
- **Let's Encrypt 인증서 디렉토리**: `/etc/letsencrypt/live/`
- `ro-being.com/`: fullchain.pem, privkey.pem, cert.pem, chain.pem (2025-09-12 갱신)
- `auth.ro-being.com/`: 동일 구조
- **인증서 유효기간**: 2025-09-11 ~ 2025-12-10 (Let's Encrypt R13 발급)
- **Certbot 자동 갱신**: 90일마다
### HTTPS 활성화된 도메인 (sites-available/default)
1. **ro-being.com** (161번 라인 server 블록)
- listen 443 ssl; (Certbot 관리)
- 문서 루트: `/home/admin/frontend-customer/dist`
2. **git.ro-being.com** (314번 라인)
- listen 443 ssl http2; (315번 라인)
- 프록시: localhost:3000 (Gitea)
- 인증서: `/etc/letsencrypt/live/ro-being.com/`
3. **auth.ro-being.com** (348번 라인)
- listen 443 ssl http2; (349번 라인)
- 프록시: localhost:9000 (auth-server)
- 인증서: `/etc/letsencrypt/live/auth.ro-being.com/`
### 프록시 설정 패턴
```nginx
location /api/ {
proxy_pass http://localhost:8000; # 끝 / 주의
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
```
### 포트별 서비스
- **80**: nginx (HTTP → HTTPS 리다이렉트)
- **443**: nginx (HTTPS)
- **3000**: Gitea
- **8000**: 다른 서비스 (health check 응답)
- **9000**: auth-server
- **9200**: OpenSearch (HTTP only)
- **5601**: OpenSearch Dashboards
### OpenSearch 상태
- **컨테이너**: opensearch (hostexecutor-opensearch-node)
- **TLS**: 데모 인증서만 설정 (esnode.pem)
- **접속**: http://localhost:9200 (내부 HTTP)
- **결정**: nginx 리버스 프록시 방식 사용 (TLS 종료)
### 유용한 확인 명령어
```bash
# nginx 설정에서 443 포트 찾기
grep -n "listen 443" /etc/nginx/sites-available/default
# 인증서 확인
sudo ls -la /etc/letsencrypt/live/
# SSL 핸드셰이크 테스트
openssl s_client -connect localhost:443 -servername ro-being.com
# HTTPS 응답 확인
curl -I https://ro-being.com
```