Вопрос в следующем:
при несуществующей странице, nginx перекидывает на 404.php error_page 404 $document_root/404.php;
но беда в том, что страница отдается со статусом 200 OK.
если в 404пхп укажу отдавать 404 хидер, то nginx уходит в рекурсию.
Как заставить nginx отдать статус 404?
если кому то будет важно - Использую nginx boilerplate.
Это логично, ответ от прокси 200, так как 404.php найдена. Попробуйте так error_page 404 = $document_root/404.php;
У меня всё работает с одной строкой в 404.php: header('HTTP/1.0 404 Not Found');