Давайте разберем это:
autoindex off;
Вам не нужно указывать это, по умолчанию оно отключено.
try_files $uri $uri/ $uri/$request =404;
Попробуйте сопоставить запросы к файлам в этом порядке, подайте первый, соответствующий. Если ничего не найдено, верните 404. Ваш запрос http://mydomain.local/second
, поэтому вы указываете Nginx искать:
- Webroot / секунду
- Webroot / второй /
- webroot / second / GET / second HTTP / 1.1
- Возврат 404
Директива index сообщает Nginx, как обрабатывать запросы, заканчивающиеся косой чертой, обычно вы указываете файлы, которые могут быть индексными файлами в вашем проекте, например, index.php, index.html и т. Д. Вы на самом деле не используете это и try_files
вместе, поскольку они служат сходной цели.
Также стоит отметить, что Nginx добавляет косую черту к любому запросу, который не имеет такового и не заканчивается расширением файла, поэтому может также случиться так, что get "/second" do
необходимо изменить на get "/second/" do
, поскольку я сомневаюсь, что Синатра когда-либо увидит запрос без добавленной косой черты