Привет!
Есть условный include
конфиг с error_page
для всего, но бывает это создает проблемы тем, что затирает ответы в разных API где статус > 400 и есть полезная информация в теле ответа.
error_page 400 /400.html;
error_page 401 /401.html;
error_page 402 /402.html;
...
error_page 503 /503.html;
error_page 504 /504.html;
error_page 505 /505.html;
location /errorpage {
alias /usr/share/nginx/errorpage;
allow all;
}
location ~ /(10[0-3]|2[02][1-9]|30[1-8]|4[0125][0-9]|50[0-9])\.html {
root /usr/share/nginx/errorpage;
allow all;
internal;
}
Хочу к примеру, что бы если user agent
= curl
, то директивы error_page
не определялись. Только как это сделать правильно я пока не понял, в идеале бы еще без if
условий реализовать.
Что то по типу такого представляю себе:
if ($http_user_agent !~* (curl|wget)) {
error_page 400 /400.html;
error_page 401 /401.html;
error_page 402 /402.html;
...
error_page 503 /503.html;
error_page 504 /504.html;
error_page 505 /505.html;
}
Может быть кто решал уже такую задачу или знает ответ?
Спасибо.