배포 도메인 관리자 페이지 블랭크 수정 (vite preview allowedHosts)

vnet.18ka.net 공개 배포에서 vite preview 서버가 Host 검증으로 공개 도메인
요청을 "Blocked request. This host is not allowed." 403으로 막아 SPA 전체가
블랭크로 뜨던 문제를 수정. server.allowedHosts와 같은 목록을 preview에도
적용하고 기본 허용 호스트에 vnet.18ka.net/api-vnet.18ka.net/vignette.chanpaca.net 추가.

검증: curl -H "Host: vnet.18ka.net" 127.0.0.1:5174 가 수정 전 Blocked →
수정 후 200+정상 index, 로컬 dev·preview 일반/슈퍼관리자 전 페이지 정상 렌더,
npm run typecheck. 대시보드 104차 기록.
This commit is contained in:
Yun Chan 2026-06-30 12:16:51 +09:00
parent 4e6b0045e3
commit 09d3220f68
2 changed files with 17 additions and 1 deletions

View file

@ -9,7 +9,16 @@ const nodeEnv = (
process?: { env?: { VITE_ALLOWED_HOSTS?: string; VITE_API_PROXY_TARGET?: string } };
}
).process?.env;
const defaultAllowedHosts = ["alpaca-home.taile93291.ts.net"];
// 공개 배포 호스트(cloudflared 터널 대상)도 기본 허용에 포함한다.
// vite 6 preview 서버는 Host 헤더를 allowedHosts로 검증하므로, 누락 시
// "Blocked request. This host is not allowed." 403이 반환되어 배포 도메인이
// 통째로 블랭크가 된다. server(dev)와 preview(배포) 모두 같은 목록을 쓴다.
const defaultAllowedHosts = [
"alpaca-home.taile93291.ts.net",
"vnet.18ka.net",
"api-vnet.18ka.net",
"vignette.chanpaca.net",
];
const allowedHosts = Array.from(
new Set([
...defaultAllowedHosts,
@ -47,6 +56,12 @@ export default defineConfig({
},
},
},
preview: {
port: 5174,
// 배포는 `vite preview`를 cloudflared 터널로 공개 도메인에 연결한다.
// allowedHosts가 없으면 공개 Host가 차단되어 전체 화면이 블랭크가 된다.
...(allowedHosts.length ? { allowedHosts } : {}),
},
build: {
outDir: "dist",
sourcemap: false,