Как настроить CORS в nginx только для конкретного URL?

Как можно исправить ошибку Access-Control-Allow-Credentials при обращении к API точке за пределами основного домена при использовании текущих настроек Nginx?
  • 26 марта 2024 г. 10:59
Ответы на вопрос 2
Чтобы настроить CORS в nginx только для конкретного URL, вы можете добавить следующую директиву в конфигурационный файл сервера:

```
location /your-specific-url {
    add_header 'Access-Control-Allow-Origin' 'http://your-specific-domain.com';
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
    add_header 'Access-Control-Allow-Headers' 'Content-Type';
    add_header 'Access-Control-Allow-Credentials' 'true';
}
```

Для исправления ошибки Access-Control-Allow-Credentials при обращении к API точке за пределами основного домена при использовании текущих настроек Nginx, вам следует добавить директиву proxy_set_header в конфигурацию вашего сервера:

```
location /api {
    proxy_pass http://your-api-endpoint;
    proxy_set_header 'Access-Control-Allow-Credentials' 'true';
}
```

Это позволит передавать заголовок Access-Control-Allow-Credentials при проксировании запросов к вашей API точке.
заголовок «Access-Control-Allow-Origin» содержит несколько значений

Это от того, что "вротпрес" сам добавляет Access-Control-Allow-Origin - надо или в приложении настройки менять или принудительно заголовок от приложения ансетить и делать всё на уровне Nginx. В любом случае надо это делать в каком-то одном месте. В прочем если стереть Access-Control-Allow-Origin из конфига Nginx, то заработает, но лучше всё таки так не делать.
Похожие вопросы