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

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

  • photo.jpg
  • 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? Я чувствую, что упускаю что-то простое.

    1
    задан 18 October 2016 в 19:27
    1 ответ

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

    Счастливая стрельба !

    5
    ответ дан 3 December 2019 в 17:03

    Теги

    Похожие вопросы