# 2026-02-17 starsandi DNS/nginx/SSL 분리 적용

## 배경
- 목표: 51123 서버에서 `ro-being.com`과 `starsandi.com`을 충돌 없이 분리 운영.
- 요구사항:
  - DNS: `A @ -> 124.55.18.179`, `CNAME www -> @`
  - nginx: `starsandi.com`, `www.starsandi.com` 전용 서버 블록 분리
  - HTTPS: certbot으로 인증서 발급 및 80 -> 443 적용
  - 경로: starsandi 앱은 현재 `basePath=/starsandi` 유지

## 원인 및 이슈
- 초기 조회에서 `starsandi.com`이 Namecheap 주차 IP(`192.64.119.114`)로 응답되어 인증서 발급 타이밍 이슈 존재.
- 권한 DNS(8.8.8.8, 1.1.1.1) 기준으로는 `124.55.18.179` 조회되어 전파 진행 중 상태 확인.

## 적용 내용

### 1) nginx 도메인 분리
- 파일 추가: `/etc/nginx/sites-available/starsandi.conf`
- 심볼릭 링크: `/etc/nginx/sites-enabled/starsandi.conf`
- 핵심 설정:
  - `server_name starsandi.com www.starsandi.com;`
  - `location = / { return 301 /starsandi; }` (basePath 유지)
  - `location /starsandi { proxy_pass http://127.0.0.1:3010; ... }`

### 2) ro-being 경로 충돌 방지
- 파일 수정: `/etc/nginx/sites-enabled/default`
- 변경 내용:
  - `ro-being.com` 블록의 `/startsandi`, `/zari`, `/starsandi` 요청을 `https://starsandi.com...`으로 301 리다이렉트

### 3) SSL(certbot)
- 실행 명령:
  - `sudo certbot --nginx -d starsandi.com -d www.starsandi.com --non-interactive --agree-tos -m admin@starsandi.com --redirect`
- 결과:
  - 인증서 발급 성공
  - 경로: `/etc/letsencrypt/live/starsandi.com/fullchain.pem`
  - 만료일: `2026-05-18`
  - certbot이 nginx 설정에 443 블록 자동 반영

## 검증 결과
- `sudo nginx -t` 성공
- `sudo systemctl reload nginx` 성공
- 로컬 강제 해석(`--resolve`) 검증:
  - `http://starsandi.com` -> `https://starsandi.com/` 301
  - `https://starsandi.com` -> `/starsandi` 301
  - `https://www.starsandi.com` -> `/starsandi` 301
  - `https://ro-being.com/starsandi` -> `https://starsandi.com/starsandi` 301

## 운영 메모
- DNS 캐시/전파 구간에서는 일부 클라이언트가 Namecheap 응답(주차/포워딩)을 잠시 볼 수 있음.
- 실제 서비스 판별은 `dig @8.8.8.8 starsandi.com A`, `dig @1.1.1.1 starsandi.com A`로 재확인.
- 용어 표기는 서버 규칙에 따라 `robeing` 기준 유지.
