Пустой путь к местоположению nginx

Я пытаюсь определить конфигурацию сервера nginx следующим образом, но точное местоположение никогда не запускается, а запускается только общий путь. Таким образом, заголовок ответа всегда имеет вид Access-Control-Allow-Origin. Что я хочу, так это то, что когда я посещаю "curl -v localhost:8081", он должен возвращать меня только с заголовком XYZ, потому что это точное совпадение, но вместо этого он возвращает общий. Что я делаю неправильно?

server {
            listen       8081;
            server_name  localhost;
            #index index.html;

            root /usr/share/nginx/wallet;

            location / {
                 try_files $uri /index.html /example.html =404;
                 add_header Access-Control-Allow-Origin *;
            }

            location = / {
               add_header XYZ "xyxxxxxxxxxxxxx";
            }
            
        }
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
1
0
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Местоположение с точным совпадением — это первое место для обработки запроса, но не последнее место для обработки запроса.

Nginx внутренне переписывает URI на /index.html и обрабатывает этот новый запрос в общем блоке местоположения.

Вы можете заставить Nginx обрабатывать весь запрос в пределах точного местоположения, добавив оператор try_files.

Например:

location = / {
    try_files /index.html =404;
    add_header XYZ "xyxxxxxxxxxxxxx";
}

Другие вопросы по теме