stock.exdev.co.kr로 접속 url 변경
This commit is contained in:
+50
-11
@@ -90,8 +90,8 @@ GoldenChart 배포는 **공통 스크립트 `deploy.sh`** 를 중심으로 두
|
||||
|
||||
| 서비스 | 컨테이너 | 포트 (기본) | URL |
|
||||
|--------|---------|------------|-----|
|
||||
| Frontend (Nginx) | `gc-frontend` | 80, **443** | http://exdev.co.kr/ · https://exdev.co.kr/ |
|
||||
| Backend (Spring Boot) | `gc-backend` | 8080 | http://exdev.co.kr:8080 (직접) 또는 `/api` (Nginx 경유) |
|
||||
| Frontend (Nginx) | `gc-frontend` | **80** (443 금지) | http://stock.exdev.co.kr/ · https://stock.exdev.co.kr/ (Caddy 경유) |
|
||||
| Backend (Spring Boot) | `gc-backend` | 8080 | http://stock.exdev.co.kr:8080 (직접) 또는 `/api` (Nginx 경유) |
|
||||
| MySQL | `gc-mysql` | 3306 | localhost:3306 (서버 내부) |
|
||||
|
||||
브라우저에서는 Nginx가 `/api` → `backend:8080` 으로 프록시합니다.
|
||||
@@ -541,7 +541,7 @@ curl -s -o /dev/null -w "Frontend HTTP: %{http_code}\n" http://localhost:80/
|
||||
# 기대: 200
|
||||
```
|
||||
|
||||
브라우저: http://exdev.co.kr/
|
||||
브라우저: http://stock.exdev.co.kr/
|
||||
|
||||
### 10-3. Backend API
|
||||
|
||||
@@ -604,22 +604,33 @@ docker system prune -f
|
||||
|
||||
## HTTPS (HTTP + HTTPS 동시 접속)
|
||||
|
||||
### exdev.co.kr (운영 — Caddy + gc-frontend)
|
||||
### exdev.co.kr (운영 — Caddy + stock / chatbot 서브도메인)
|
||||
|
||||
이 서버는 **443 포트를 ex-chatbot Caddy**가 사용합니다. GoldenChart HTTPS는 Caddy → `host.docker.internal:80` → **gc-frontend** 경로입니다.
|
||||
443 포트는 **ex-chatbot Caddy**만 사용. GoldenChart·Chatbot은 **443 직접 바인딩 금지**.
|
||||
|
||||
| URL | 경로 |
|
||||
| URL | 처리 |
|
||||
|-----|------|
|
||||
| `http://exdev.co.kr/` | gc-frontend `:80` 직접 |
|
||||
| `https://exdev.co.kr/` | Caddy `:443` (TLS) → gc-frontend `:80` |
|
||||
| https://stock.exdev.co.kr | Caddy → gc-frontend `:80` (GoldenChart) |
|
||||
| https://chatbot.exdev.co.kr/chatbot/* | Caddy → rag-api + Admin |
|
||||
| https://exdev.co.kr/chatbot/* | → chatbot.exdev.co.kr 301 |
|
||||
| https://exdev.co.kr/* (그 외) | → stock.exdev.co.kr 301 |
|
||||
|
||||
**주의:** `docker-compose.yml` 에 frontend `443:443` 매핑을 넣으면 Caddy 와 충돌해 **frontend 가 기동되지 않습니다** (HTTP·HTTPS 모두 502). frontend 는 **80만** 노출합니다.
|
||||
Caddyfile: `exAIChatbot2.0/docker/caddy/Caddyfile.exdev`
|
||||
절차: [docs/exdev-subdomain-setup.md](../docs/exdev-subdomain-setup.md)
|
||||
|
||||
```bash
|
||||
curl -sS -o /dev/null -w "stock %{size_download}B\n" https://stock.exdev.co.kr/
|
||||
curl -sS -o /dev/null -w "chatbot %{size_download}B\n" https://chatbot.exdev.co.kr/chatbot/health
|
||||
DESKTOP_UPDATE_BASE_URL=https://stock.exdev.co.kr/desktop/updates ./scripts/verify-desktop-updater-endpoint.sh
|
||||
```
|
||||
|
||||
**주의:** gc-frontend `443:443` 매핑 금지 (Caddy 충돌). frontend는 **80만** 노출.
|
||||
|
||||
```bash
|
||||
# frontend 기동 확인
|
||||
docker ps --filter name=gc-frontend
|
||||
curl -s -o /dev/null -w "HTTP:%{http_code}\n" http://exdev.co.kr/
|
||||
curl -sk -o /dev/null -w "HTTPS:%{http_code}\n" https://exdev.co.kr/
|
||||
curl -s -o /dev/null -w "HTTP:%{http_code}\n" http://stock.exdev.co.kr/
|
||||
curl -sk -o /dev/null -w "HTTPS:%{http_code}\n" https://stock.exdev.co.kr/
|
||||
```
|
||||
|
||||
Caddy TLS 인증서: `exAIChatbot2.0/docker/nginx/certs/` (`obtain-cert-exdev.sh`)
|
||||
@@ -688,6 +699,34 @@ docker compose up -d --no-deps backend
|
||||
docker compose up -d --no-deps frontend
|
||||
```
|
||||
|
||||
### 12-5a. PC 앱 자동 업데이트 — latest.json 형식 오류 / HTTPS 빈 응답
|
||||
|
||||
데스크톱 앱(Tauri)은 **HTTPS** `https://stock.exdev.co.kr/desktop/updates/latest.json` 만 사용합니다.
|
||||
|
||||
**증상:** 앱 업데이트 모달에 `latest.json 형식 오류` 또는 JSON parse 실패.
|
||||
|
||||
**원인 1 (가장 흔함):** ex-chatbot **Caddy(443)** 가 gc-frontend 로 프록시할 때 **HTTP 200 + 본문 0바이트** 를 반환. nginx(:80) 직접 접속은 정상.
|
||||
|
||||
```bash
|
||||
# 진단 (로컬·서버 공통)
|
||||
DESKTOP_UPDATE_BASE_URL=https://stock.exdev.co.kr/desktop/updates ./scripts/verify-desktop-updater-endpoint.sh
|
||||
|
||||
# 수동 비교
|
||||
curl -sS -o /dev/null -w "HTTPS size=%{size_download}\n" https://stock.exdev.co.kr/desktop/updates/latest.json
|
||||
curl -sS -o /dev/null -w "HTTP size=%{size_download}\n" http://stock.exdev.co.kr/desktop/updates/latest.json
|
||||
curl -sS http://stock.exdev.co.kr/desktop/updates/latest.json | head
|
||||
```
|
||||
|
||||
| 결과 | 의미 |
|
||||
|------|------|
|
||||
| HTTPS 0B, HTTP 1KB+ | **Caddy 역프록시** 설정 오류 — `stock.exdev.co.kr` 블록에서 `reverse_proxy host.docker.internal:80` 및 `flush_interval -1` 확인 |
|
||||
| HTTPS·HTTP 모두 0B | `frontend/public/desktop/updates/latest.json` 미생성 — Desktop Jenkins `goldenChart-Desktop-Pipeline` publish 실행 |
|
||||
| HTTPS OK, platforms `{}` | manifest 는 있으나 서명 bundle 없음 — `publish-desktop-update.sh` 재실행 |
|
||||
|
||||
**Caddy 수정 후:** `curl -sS https://stock.exdev.co.kr/desktop/updates/latest.json | jq .version` 로 v0.1.x 확인.
|
||||
|
||||
**임시 우회:** PC 프로그램 탭에서 dmg/exe 수동 설치.
|
||||
|
||||
### 12-6. deploy-home.sh SSH 실패
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user