Мое приложение работает с nginx и uwsgi (python). Моя цель - сбросить соединение (как объяснено here), например. когда приложение python решит это сделать.Перехват восходящей ошибки с nginx
Есть ли параметр nginx для «перехвата» восходящих ошибок, подобных proxy_intercept_errors
?
Согласно this answer,
Мой Nginx конфигурации:
location/{
uwsgi_pass myapp;
include uwsgi_params;
uwsgi_buffering on;
uwsgi_buffer_size 8k;
uwsgi_connect_timeout 800;
uwsgi_read_timeout 800;
uwsgi_send_timeout 800;
proxy_intercept_errors on;
error_page 420 =444 @foo;
}
location @foo {
return 444;
}
Я перепробовал все возможные комбинации я мог думать о с/без proxy_intercept_errors
и error_page
, но независимо от того, как настроить Nginx, когда я вернусь 420 Enhance your calm
(или любой другой код ошибки, по-видимому), он передается непосредственно клиенту.
This answer предлагает использовать proxy_next_upstream
, но это подразумевает использование proxy_pass
, а не uwsgi_pass
. Мне нужно использовать uwsgi_pass
, потому что мне нужны определенные параметры, переданные в приложение python.
спасибо, это работает :) – Rbeuque74