nginx status вернуть 426

Надо в конфиге nginx на все запросы вернуть файл json и установить статус кода в 426, в директории собственно сам файл 426.json,

конф локейшина:

    location / {
        root /home/bitrix;
        try_files $uri $uri /426.json =426;
    }

при таком локейшине на все запросы возвращает нужный json, но статус кода всегда 200 ok, можно ли вернуть статус кода 426?


Ответы (1 шт):

Автор решения: Alexey Ten

Если вам правда нужно на любой запрос отвечать одним и тем же файлом с кодом 426, то проще всего сделать так:

root /home/bitrix;

location / {
    error_page 426 @426;
    return 426;
}

location @426 {
    # просто отдаём файл
    rewrite ^ /426.json break;
}

Поправил по сравнению с комментарием, что бы действительно любой запрос получал 426. В примере из комментария запрос за /426.json получит ответ 200.

→ Ссылка