Merge remote-tracking branch 'upstream/main'

This commit is contained in:
dohyeons
2025-10-02 17:29:15 +09:00
3 changed files with 11 additions and 13 deletions

View File

@@ -35,12 +35,12 @@ services:
context: ../../frontend context: ../../frontend
dockerfile: ../docker/deploy/frontend.Dockerfile dockerfile: ../docker/deploy/frontend.Dockerfile
args: args:
- NEXT_PUBLIC_API_URL=https://api.vexplor.com - NEXT_PUBLIC_API_URL=https://api.vexplor.com/api
container_name: pms-frontend-prod container_name: pms-frontend-prod
restart: always restart: always
environment: environment:
NODE_ENV: production NODE_ENV: production
NEXT_PUBLIC_API_URL: https://api.vexplor.com NEXT_PUBLIC_API_URL: https://api.vexplor.com/api
NEXT_TELEMETRY_DISABLED: "1" NEXT_TELEMETRY_DISABLED: "1"
PORT: "3000" PORT: "3000"
HOSTNAME: 0.0.0.0 HOSTNAME: 0.0.0.0

View File

@@ -20,7 +20,7 @@ COPY . .
ENV NEXT_TELEMETRY_DISABLED 1 ENV NEXT_TELEMETRY_DISABLED 1
# 빌드 시 환경변수 설정 (ARG로 받아서 ENV로 설정) # 빌드 시 환경변수 설정 (ARG로 받아서 ENV로 설정)
ARG NEXT_PUBLIC_API_URL=https://api.vexplor.com ARG NEXT_PUBLIC_API_URL=https://api.vexplor.com/api
ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
# Build the application # Build the application

View File

@@ -34,6 +34,12 @@ export interface ValidationResult {
*/ */
// API URL 동적 설정 - 기존 client.ts와 동일한 로직 // API URL 동적 설정 - 기존 client.ts와 동일한 로직
const getApiBaseUrl = (): string => { const getApiBaseUrl = (): string => {
// 1. 환경변수가 있으면 우선 사용
if (process.env.NEXT_PUBLIC_API_URL) {
return process.env.NEXT_PUBLIC_API_URL;
}
// 2. 클라이언트 사이드에서 동적 설정
if (typeof window !== "undefined") { if (typeof window !== "undefined") {
const currentHost = window.location.hostname; const currentHost = window.location.hostname;
const currentPort = window.location.port; const currentPort = window.location.port;
@@ -45,18 +51,10 @@ const getApiBaseUrl = (): string => {
) { ) {
return "http://localhost:8080/api"; 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";
} }
// 서버 사이드 렌더링 기본값 // 3. 기본값
return "http://39.117.244.52:8080/api"; return "http://localhost:8080/api";
}; };
export class ExternalCallAPI { export class ExternalCallAPI {