Как намеренно заблокировать ошибку 404 в nginx?

#nginx #nginx-config

#nginx #nginx-config

Вопрос:

У меня есть частный веб-сайт только для личного использования. Я не заинтересован в том, чтобы кто-либо еще обращался к моему веб-серверу, и хочу, чтобы nginx не возвращал абсолютно ничего по всем недопустимым uri.

Как мне целенаправленно предотвратить выдачу ошибки 404 (или любых других ошибок) для недопустимого uri?

Комментарии:

1. Что вы подразумеваете под «абсолютно ничего не возвращать по всем недопустимым URL». Что такое «ничего» на уровне nginx?

Ответ №1:

Используйте try_files с «пользовательским» резервным вариантом.

Отправьте статус 200 на запасной вариант, если запрошенный файл не существует;

 location / {
    try_files $uri $uri/ =200;
}
 

try_files $uri $uri/ $uri.html =404;

Последним параметром также может быть код состояния (которому непосредственно предшествует знак равенства) или название местоположения. В следующем примере возвращается ошибка 404, если ни один из параметров директивы try_files не преобразуется в существующий файл или каталог.