From 0455b1ee43ab32456a43a0a6eedecfcc3332a6b5 Mon Sep 17 00:00:00 2001 From: dohyeons Date: Thu, 2 Oct 2025 17:22:25 +0900 Subject: [PATCH] =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/lib/api/client.ts | 20 +++++++++----------- frontend/next.config.mjs | 5 ++--- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/frontend/lib/api/client.ts b/frontend/lib/api/client.ts index 0722f9c9..fec3ffa5 100644 --- a/frontend/lib/api/client.ts +++ b/frontend/lib/api/client.ts @@ -1,7 +1,13 @@ import axios, { AxiosResponse, AxiosError } from "axios"; -// API URL 동적 설정 - 환경별 명확한 분리 +// API URL 동적 설정 - 환경변수 우선 사용 const getApiBaseUrl = (): string => { + // 1. 환경변수가 있으면 우선 사용 + if (process.env.NEXT_PUBLIC_API_URL) { + return process.env.NEXT_PUBLIC_API_URL; + } + + // 2. 클라이언트 사이드에서 동적 설정 if (typeof window !== "undefined") { const currentHost = window.location.hostname; const currentPort = window.location.port; @@ -13,18 +19,10 @@ const getApiBaseUrl = (): string => { ) { return "http://localhost:8080/api"; } - - // 서버 환경에서 localhost:5555 → 39.117.244.52:8080 - if ((currentHost === "localhost" || currentHost === "127.0.0.1") && currentPort === "5555") { - return "http://39.117.244.52:8080/api"; - } - - // 기타 서버 환경 (내부/외부 IP): → 39.117.244.52:8080 - return "http://39.117.244.52:8080/api"; } - // 서버 사이드 렌더링 기본값 - return "http://39.117.244.52:8080/api"; + // 3. 기본값 + return "http://localhost:8080/api"; }; export const API_BASE_URL = getApiBaseUrl(); diff --git a/frontend/next.config.mjs b/frontend/next.config.mjs index 4b9515fc..f2629cd5 100644 --- a/frontend/next.config.mjs +++ b/frontend/next.config.mjs @@ -44,10 +44,9 @@ const nextConfig = { // 환경 변수 (런타임에 읽기) env: { - // 프로덕션에서는 직접 백엔드 URL 사용, 개발환경에서는 프록시 사용 + // 환경변수가 있으면 사용, 없으면 개발환경에서는 프록시 사용 NEXT_PUBLIC_API_URL: - process.env.NEXT_PUBLIC_API_URL || - (process.env.NODE_ENV === "production" ? "http://39.117.244.52:8080/api" : "/api"), + process.env.NEXT_PUBLIC_API_URL || (process.env.NODE_ENV === "production" ? "http://localhost:8080/api" : "/api"), }, };