Назад | Перейти на главную страницу

Nginx-Всегда возвращать код статуса 403

Я пытаюсь заставить Nginx возвращать простую веб-страницу, но всегда с кодом состояния http 403. По какой-то причине я просто не могу заставить ее работать. У меня есть два файла в / var / www / html /:

index.html отображает текст вместе с photo.jpg

Вот моя конфигурация Nginx:

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                return 403;
         }

        error_page 404 /index.html;
        error_page 403 /index.html;

        location = /index.html {
                 allow all;
       }

        location = /photo.jpg {
                allow all;
        }
}

С этой конфигурацией как есть и index.html, и photo.jpg отображаются со статусом 200. Если я удалю location блоки для этих двух файлов, ни один из них не отображается, но они имеют статус 403. Мой вопрос: как я могу отобразить html-файл вместе с изображением, но просто вернуть статус 403? Я чувствую, что упускаю что-то простое.

Ваш location / {}, содержащий return 403; соответствует первым. Вы должны переместить его под двумя другими.

Удачной стрельбы по ногам!