diff --git a/public/src/hooks/useMapWebSocket.ts b/public/src/hooks/useMapWebSocket.ts index 3709103..755c226 100644 --- a/public/src/hooks/useMapWebSocket.ts +++ b/public/src/hooks/useMapWebSocket.ts @@ -51,9 +51,9 @@ export function useMapWebSocket({ // Get the token for authenticated users const token = authService.getAccessToken(); - // Build WebSocket URL + // Build WebSocket URL - always use current domain const wsProtocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:'; - const wsHost = import.meta.env.VITE_API_URL?.replace(/^https?:\/\//, '') || window.location.host; + const wsHost = window.location.host; let wsUrl = `${wsProtocol}//${wsHost}/ws/maps/${mapId}`; // Add authentication diff --git a/public/src/services/api.ts b/public/src/services/api.ts index a57cb99..d51c586 100644 --- a/public/src/services/api.ts +++ b/public/src/services/api.ts @@ -1,6 +1,7 @@ import axios from 'axios'; -const API_URL = import.meta.env.VITE_API_URL || 'http://localhost:8000'; +// Always use current domain - nginx proxies /api to backend +const API_URL = window.location.origin; export const apiClient = axios.create({ baseURL: API_URL, diff --git a/public/src/services/uploadService.ts b/public/src/services/uploadService.ts index 3f3efe3..69083e7 100644 --- a/public/src/services/uploadService.ts +++ b/public/src/services/uploadService.ts @@ -25,7 +25,8 @@ class UploadService { } getImageUrl(path: string): string { - const apiUrl = import.meta.env.VITE_API_URL || 'http://localhost:8000'; + // Always use current domain + const apiUrl = window.location.origin; // If it's a path like /api/uploads/image/xxx.jpg if (path.startsWith('/api/uploads/image/')) {