Как уже отмечали другие, это вещь CORS.
Вот как это сделать в NGINX (на основе этот источник ):
location / {
if ($request_method = OPTIONS ) {
add_header Access-Control-Allow-Origin "http://example.com";
add_header Access-Control-Allow-Methods "GET, OPTIONS";
add_header Access-Control-Allow-Headers "Authorization";
add_header Access-Control-Allow-Credentials "true";
add_header Content-Length 0;
add_header Content-Type text/plain;
return 200;
}
}
Если вы хотите разрешить запросы CORS из любого источника, замените,
add_header Access-Control-Allow-Origin "http://example.com";
с
add_header Access-Control-Allow-Origin "*";
Если вы не используете авторизацию, вам не понадобится этот бит:
add_header Access-Control-Allow-Headers "Authorization";
add_header Access-Control-Allow-Credentials "true";
Для API, который я разрабатываю, мне нужно было внести в белый список 3 метода запроса: GET, POST и OPTIONS и заголовок X-App-Id
, так что это то, что я в итоге сделал:
if ($request_method = OPTIONS ) {
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
add_header Access-Control-Allow-Headers "X-App-Id";
add_header Content-Length 0;
add_header Content-Type text/plain;
return 200;
}