nginx: 서브패스(/admin)에서 SPA 서빙 (alias + fallback)

/admin 아래에 React/Vue SPA를 배포할 때 새로고침 404를 막는 alias/try_files 패턴

분야: DevOps/인프라 nginxspasubpathfrontend

SPA를 /admin/처럼 서브패스에 배포하면, 새로고침/직접 접근 시 404가 나기 쉽습니다. (/admin/users 같은 라우트)

기본 패턴 (alias + try_files)

예시 경로: SPA 빌드 산출물이 /var/www/admin/에 있다고 가정합니다.

location ^~ /admin/ {
  alias /var/www/admin/;
  try_files $uri $uri/ /admin/index.html;
}

자주 막히는 포인트

  • aliasroot와 경로 매핑 규칙이 달라 헷갈리기 쉽습니다.
  • fallback URI는 /admin/index.html처럼 “브라우저 기준 경로”로 두는 편이 안전합니다.

같이 쓰면 좋은 설정

같은 분야의 템플릿