Използвайки AngularJS за свързване с REST API на Splunk, как да разреша проблема с CORS?

Когато се опитвам да публикувам данни от AngularJS, получавам следната грешка.

XMLHttpRequest не може да зареди https://localhost:8089/services/auth/login. Няма заглавка „Access-Control-Allow-Origin“ на заявения ресурс. Следователно достъпът до „http://localhost:8080" не е разрешен.

Ето кода на angularjs

var app = angular.module('myApp', []);
sessionkey='';
var req = {
    method: 'POST',
    url: 'https://localhost:8089/services/auth/login',
    headers : {
      'Content-Type':'application/x-www-form-urlencoded',
      'Accept':'*/*'

    },
    data : {
      username : 'admin',
      password : 'admin',
      output_mode : 'json' 
    }
};



app.controller('myController', function($scope, $http) {
$http(req).success(function($scope, $http){
    sessionKey= retrieveSessionKey($scope, $http);

});

});

Как мога да заобиколя проблема?

Оценяваме всеки принос!


person Murali Mohan    schedule 09.07.2015    source източник


Отговори (2)


От Сайт за разработчици на Splunk:

Уеб приложенията, които се изпълняват извън Splunk Web, трябва да използват прокси сървър или кръстосано споделяне на ресурси (CORS), за да комуникират със сървъра на Splunk поради правилата за сигурност на браузъра Same Origin Policy (SOP).

Ако използвате CORS, ще трябва да конфигурирате Splunk сървъра, за да позволите на вашия уеб сайт да комуникира с него чрез CORS връзка. За да направите това, добавете адреса на вашия уеб сайт като доверен HTTP източник към атрибута crossOriginSharingPolicy в конфигурационния файл server.conf.

Например, добавете тази строфа към конфигурационния файл $SPLUNK_HOME/etc/system/local/server.conf, след което рестартирайте Splunk:

[httpServer]
crossOriginSharingPolicy = your_site_address
person Hayley Guillou    schedule 09.07.2015
comment
Благодаря Хейли. Ще го пробвам. - person Murali Mohan; 13.07.2015

Просто оставям бележка за други хора, които все още имат проблеми с CORS дори след настройването на server.conf:

Настроих също server.conf, web.conf и inputs.conf в $SPLUNK_HOME/etc/system/local/*.conf и добавих следното:

Под server.conf добавете следните редове

[httpServer] 
crossOriginSharingPolicy = *

Под web.conf добавете следните редове

[settings]
crossOriginSharingPolicy = *

Под inputs.conf добавете следните редове

[http]
crossOriginSharingPolicy = *

Намерих тази информация от страница с бърз отговор

След настройката всичко започна да работи.

person Minjeong Choi    schedule 24.03.2020