3.9 KiB
exdev.co.kr 서브도메인 분리 — stock / chatbot
| 서비스 | URL |
|---|---|
| GoldenChart | https://stock.exdev.co.kr |
| Chatbot | https://chatbot.exdev.co.kr/chatbot/* |
| Legacy apex | https://exdev.co.kr → stock 또는 chatbot으로 301 |
1. DNS (Gabia 등)
| 호스트 | 타입 | 값 |
|---|---|---|
stock |
A | 서버 공인 IP |
chatbot |
A | 서버 공인 IP |
2. SSL 인증서 (exAIChatbot2.0 서버)
cd /path/to/exAIChatbot2.0
# env: STOCK_DOMAIN, CHATBOT_DOMAIN (env.exdev 참고)
bash scripts/exdev/obtain-cert-exdev.sh # exdev + stock + chatbot SAN
bash scripts/exdev/start-https-caddy.sh
Caddyfile: docker/caddy/Caddyfile.exdev
3. GoldenChart
서버 .env:
GC_DESKTOP_APP_PUBLIC_BASE_URL=https://stock.exdev.co.kr
GC_MOBILE_APP_PUBLIC_BASE_URL=https://stock.exdev.co.kr
Desktop updater / Jenkins:
export DESKTOP_UPDATE_BASE_URL=https://stock.exdev.co.kr/desktop/updates
검증:
curl -sS https://stock.exdev.co.kr/ | head
DESKTOP_UPDATE_BASE_URL=https://stock.exdev.co.kr/desktop/updates ./scripts/verify-desktop-updater-endpoint.sh
4. Chatbot
.env (env.exdev):
PUBLIC_BASE_URL=https://chatbot.exdev.co.kr
CHATBOT_DOMAIN=chatbot.exdev.co.kr
카카오 스킬 URL 예:
- Q&A:
https://chatbot.exdev.co.kr/chatbot/kakao/skill - 챗봇홈:
https://chatbot.exdev.co.kr/chatbot/app/
검증:
curl -sS https://chatbot.exdev.co.kr/chatbot/health
curl -sS https://chatbot.exdev.co.kr/chatbot/app/ | head
5. SSH / git remote
서버 SSH·배포 스크립트의 REMOTE_HOST=exdev.co.kr 는 그대로 둡니다 (서버 내부·스크립트용).
6. 서버(Mac Studio) 안에서 브라우저·데스크톱 앱 접속
원격에서는 https://stock.exdev.co.kr 이 정상이어도, 서버 본체 브라우저는 공인 IP로 다시 들어오는 NAT hairpin 이 막혀 stock 서브도메인만 타임아웃될 수 있습니다.
| URL | 서버 내부 (hosts 미설정) | 조치 후 |
|---|---|---|
http://exdev.co.kr |
✅ (/etc/hosts → 127.0.0.1) |
— |
https://exdev.co.kr |
✅ (Caddy가 직접 프록시) | — |
https://stock.exdev.co.kr |
❌ 타임아웃 | hosts에 stock 추가 |
1회 설정 (서버 콘솔 또는 SSH에서 sudo):
sudo bash /path/to/goldenChart/scripts/setup-server-local-hosts.sh
또는 서버 바탕화면 Setup-GoldenChart-Hosts.command 더블클릭 → 관리자 암호 입력.
추가되는 항목:
127.0.0.1 exdev.co.kr
127.0.0.1 stock.exdev.co.kr
127.0.0.1 chatbot.exdev.co.kr
검증:
curl -sS -o /dev/null -w "stock %{http_code}\n" https://stock.exdev.co.kr/
curl -sS https://stock.exdev.co.kr/desktop/updates/latest.json | head
데스크톱 앱 자동 업데이트: 기본 엔드포인트는 stock.exdev.co.kr 이므로 위 hosts 설정이 필요합니다.
신규 빌드부터는 https://exdev.co.kr/desktop/updates/latest.json 을 두 번째 fallback 으로 포함합니다 (desktop/src-tauri/tauri.conf.json).
주의: networksetup -setdnsservers Ethernet 127.0.0.1 처럼 DNS를 127.0.0.1 로 바꾸지 마세요 (로컬 DNS 서버가 없으면 전체 DNS가 깨집니다). 복구: networksetup -setdnsservers Ethernet Empty
7. SSH / git remote (로컬 Mac)
로컬 Mac에서 git push 시 Could not resolve hostname exdev.co.kr
일부 네트워크(회사·VPN·ISP)에서는 apex exdev.co.kr DNS만 실패하고 stock.exdev.co.kr 은 정상입니다.
같은 서버이므로 git remote 만 서브도메인으로 바꿉니다:
git remote set-url origin ssh://aidev@stock.exdev.co.kr/Volumes/ADATA/git/goldenChart.git
git push origin main
또는 /etc/hosts 에 125.244.198.119 exdev.co.kr 추가.
~/.ssh/config 예:
Host exdev exdev.co.kr stock.exdev.co.kr
HostName stock.exdev.co.kr
User aidev