diff --git a/docker-compose.yml b/docker-compose.yml index a0cfd2e..0fc5dcc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,5 +23,6 @@ services: - "80:80" volumes: - ./frontend:/usr/share/nginx/html + - ./frontend/nginx.conf:/etc/nginx/conf.d/default.conf depends_on: - backend diff --git a/frontend/js/api.js b/frontend/js/api.js index f1ea031..2f3d63a 100644 --- a/frontend/js/api.js +++ b/frontend/js/api.js @@ -1,5 +1,5 @@ // frontend/js/api.js -const API_BASE = "http://localhost:5000/api"; +const API_BASE = "/api"; function getHeaders() { const token = localStorage.getItem('token'); diff --git a/frontend/js/app.js b/frontend/js/app.js index a885e77..67951c5 100644 --- a/frontend/js/app.js +++ b/frontend/js/app.js @@ -41,7 +41,8 @@ function showToast(message, type = 'info') { } function initSocket() { - socket = io('http://localhost:5000'); + // Подключаемся к текущему хосту (без хардкода localhost) + socket = io(); socket.on('connect', () => { console.log('Connected to WebSocket server'); diff --git a/frontend/nginx.conf b/frontend/nginx.conf new file mode 100644 index 0000000..8d5fac0 --- /dev/null +++ b/frontend/nginx.conf @@ -0,0 +1,31 @@ +server { + listen 80; + server_name _; + + root /usr/share/nginx/html; + index index.html; + + # Все запросы к /api/ проксируем на Flask бэкенд + location /api/ { + proxy_pass http://backend:5000/api/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_read_timeout 60s; + } + + # Socket.IO проксируем на бэкенд + location /socket.io/ { + proxy_pass http://backend:5000/socket.io/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_read_timeout 60s; + } + + # Все остальные запросы — статические файлы + location / { + try_files $uri $uri/ /index.html; + } +}