Как я настраиваю nginx для возврата 429 кодов http когда ограничение уровня?

Я не назвал бы это отказом, потому что существуют причины для одной или другого поведения.

В Вашем случае необходимо смочь адаптировать конфигурацию dhclient (IIRC/etc/dhcp/dhclient.conf) на машине Debian.

Необходимо будет добавить строку как та ниже

send host-name "wordpress2";
11
задан 23 May 2017 в 15:41
3 ответа

Хорошие новости, версия 1.3.15 http://mailman.nginx.org/pipermail/nginx/2013-March/038306.html

у нас есть директивы limit_req_status и limit_conn_status. Я только что протестировал их на Gentoo Linux (обратите внимание, что вам необходимо иметь скомпилированные модули limit_req и limit_con).

Я думаю, что с этими настройками вы сможете добиться того, о чем просили:

limit_req_status 429;
limit_conn_status 429;

Я проверил это с помощью quick:

ab2 -n 100000 -c 55 "http://127.0.0.1/api/v1

На котором большинство запросов не удалось выполнить после активации директивы из-за высокой скорости запросов. и настроенный лимит в nginx:

limit_req zone=api burst=15 nodelay;
19
ответ дан 2 December 2019 в 21:46

Based on VBart's response and other comments, it is clear that the best option is to map 503 errors to 429s.

error_page 503 = 429 /too-many-requests.html

Since nginx (1.3.x) only uses 503 status codes for limit_req and limit_conn, this should be a fine approach.

1
ответ дан 2 December 2019 в 21:46

Сам Nginx никогда не возвращает 503 в случаях, кроме limit_req и limit_conn.

0
ответ дан 2 December 2019 в 21:46

Теги

Похожие вопросы