From d2b77d455318dad325a2140fb847723fe0e23177 Mon Sep 17 00:00:00 2001 From: valitovgaziz Date: Sun, 7 Jun 2026 21:42:16 +0500 Subject: [PATCH] On branch main modified: main_dc/nginx/nginx-ssl.conf modified: main_dc/yalarba/api_es/internal/config/config.go add config into enginx for api_yal REST_API --- main_dc/nginx/nginx-ssl.conf | 39 +++++++++++++++++++ .../yalarba/api_es/internal/config/config.go | 2 +- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/main_dc/nginx/nginx-ssl.conf b/main_dc/nginx/nginx-ssl.conf index 46b1cb9..a748500 100644 --- a/main_dc/nginx/nginx-ssl.conf +++ b/main_dc/nginx/nginx-ssl.conf @@ -278,6 +278,45 @@ server { proxy_send_timeout 600; proxy_read_timeout 600; + # ======================================== + # ДЕТАЛЬНЫЕ НАСТРОЙКИ CORS ДЛЯ OPTIONS + # ======================================== + if ($request_method = OPTIONS ) { + # Динамический заголовок Origin из запроса + add_header 'Access-Control-Allow-Origin' "$http_origin"; + add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE'; + + # Подробный список разрешенных заголовков + add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; + + # Время кэширования preflight ответа (20 дней) + add_header 'Access-Control-Max-Age' 1728000; + + # Пустой ответ для OPTIONS + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain charset=UTF-8'; + + # Возвращаем 204 без тела ответа + return 204; + } + } + + location /api_yal/ { + # Отдельный API endpoint для backend + proxy_pass http://api_yal:8787/; + + # Заголовки прокси + 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_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Port $server_port; + + # Таймауты как у основного приложения + proxy_connect_timeout 600; + proxy_send_timeout 600; + proxy_read_timeout 600; + # ======================================== # ДЕТАЛЬНЫЕ НАСТРОЙКИ CORS ДЛЯ OPTIONS # ======================================== diff --git a/main_dc/yalarba/api_es/internal/config/config.go b/main_dc/yalarba/api_es/internal/config/config.go index b86beb2..b386318 100644 --- a/main_dc/yalarba/api_es/internal/config/config.go +++ b/main_dc/yalarba/api_es/internal/config/config.go @@ -21,7 +21,7 @@ type Config struct { func Load() *Config { return &Config{ DBHost: getEnv("DB_HOST", "localhost"), - DBPort: getEnv("DB_PORT", "5432"), + DBPort: getEnv("DB_PORT", "5432"), DBUser: getEnv("DB_USER", "postgres"), DBPassword: getEnv("DB_PASSWORD", "postgres"), DBName: getEnv("DB_NAME", "mydb"),