Столкнулся с проблемой в настройках Nginx при лимитировании запросов на API сервере, который иногда сбрасывает соединение.
limit_req_zone $binary_remote_addr zone=one:10m rate=100r/s;
location / {
limit_req zone=one burst=50 nodelay;
limit_req_log_level warn;
limit_req_status 429;
......
Проблема заключается в том что запросы идут с сервера через axios
import axios from "axios"
const $api = axios.create({
withCredentials: true,
baseURL: process?.env?.SERVER_API
})
$api.interceptors.request.use((config: any) => {
config.params = config.params || {}
config.params['token'] = process?.env?.SERVER_TOKEN
return config
})
При этом сервер API принимает запросы не от реального пользователя, а с сервера который создает запрос на получение данных.
Ранее не сталкивался с подобным и с такими тонкими настройками, как вообще поступить в этом случае? Можно ли с помощью axios передать IP клиента, чтобы Nginx его обрабатывал, а не IP сервера с которого идет запрос?