Настройка 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 для отдельного эндпоитна, причем:
- Cors должны быть не для *, а для конкретного домена
- С этого домена могут выполняться только 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. Как тогда нужно сделать?