Я пытаюсь настроить Nginx для работы в качестве обратного прокси, но также обрабатывать одну статическую страницу (приветствие) самостоятельно:
root /usr/share/project/;
location = / {
try_files index.html =404;
}
Эта конфигурация всегда возвращает 404. Когда я пытаюсь выяснить, что именно происходит, я переписываю директиву try_files, чтобы она перестала работать:
try_files index.html index.html;
И был удивлен увиденным в error.log:
2019/05/07 17:30:39 [ошибка] 9393 # 9393: * 1 open () "/usr/share/projectindex.html" не удалось (2: нет такого файла или каталога), клиент: 10.25. 88.214, сервер:, запрос: "GET /index.html HTTP / 1.1"
Как видите, имя файла результатов - projectindex.html. Слэш пропустил. Я пытаюсь добавить / и ./ в разных местах, но это ни к чему не привело.
Наконец, я заменяю свою конфигурацию следующим:
root /usr/share/project/;
location = / {
try_files /index.html =404;
}
location = /index.html {
}
и это работает.
Я не понимаю, что не так с первым конфигом. А также я не понимаю значение пустого места:
location = /index.html {
}
и почему он работает правильно.
Может быть, есть лучший способ сделать то же самое?