Настройка cors для отдельного location в nginx

Всем добрый день. В nginx настроен cors

server {
   ...

   location / {
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Allow-Credentials' 'true' always;
            add_header 'Access-Control-Allow-Methods' 'GET,POST,PUT,DELETE,HEAD,OPTIONS' always;
            add_header 'Access-Control-Allow-Headers' 'Origin,Content-Type,Accept,Authorization' always;
            add_header 'Content-Type' 'text/plain charset=UTF-8';
            add_header 'Content-Length' 0;
            return 204;
        }
        try_files $uri /index.php$is_args$args;
    }
    ...

}

Мне нужно сделать cors для отдельного эндпоитна, причем:

  1. Cors должны быть не для *, а для конкретного домена
  2. С этого домена могут выполняться только POST методы;

Поначалу пытался делать так:

server {
    ...

    location / {
       ...
    }
    ...

    location = /path/to/endpoint {
      add_header 'Access-Control-Allow-Origin' 'https://domain.com' always;
      add_header 'Access-Control-Allow-Methods' 'POST' always;
    }
    ...
}

Но как я понял нельзя прописывать cors для отдельного location. Как тогда нужно сделать?


Ответы (0 шт):