На самом деле я немного удивлен, что через пару часов работы в Google не смог найти ничего, но проблема такова:
Я хочу, чтобы nginx служил моим дросселем для моего API.
Мой конфигурационный файл содержит хорошо цитированный пример limit_req_zone
:
limit_req_zone $binary_remote_addr zone=limit:2m rate=10r/m;
вместе с моей директивой location
, содержащей ожидаемый limit_req zone=limit nodelay;
Мне бы хотелось, чтобы nginx прикреплял заголовки к ответному сообщению для атрибутов X-RateLimit-Remaining
и X-RateLimit-Reset
. В основном, nginx использует активный счетчик rate=10r/m
для заполнения X-RateLimit-Remaining
и таймфрейма того же значения rate=10r/m
, чтобы заполнить X-RateLimit-Reset
, сколько секунд осталось до обновления.
http {
limit_req_zone $binary_remote_addr zone=login:10m rate=2r/s;
limit_req_status 429;
limit_conn_status 429;
server {
listen 80;
server_name [removed];
location / {
limit_req zone=limit nodelay;
proxy_pass http://reverse-proxy-example;
add_header X-RateLimit-Remaining [nginx variable?];
add_header X-RateLimit-Reset [nginx variable?]
}
}
Мысли? Возможное? Хотелось бы избежать удара приложения, чтобы получить эти цифры.