无法以安全模式访问另一台服务器的NIFI Rest api

时间:2017-04-03 07:34:19

标签: ajax rest apache-nifi

我正在尝试使用下面的ajax从我的机器访问另一台服务器的NIFI rest api,

url:"https://serverip:port/nifi-api/",
{Authorization : 'Bearer ' + 'access token here'}
  

获取对预检请求的响应并未通过访问控制   check:No' Access-Control-Allow-Origin'标题出现在   请求资源错误。

1 个答案:

答案 0 :(得分:1)

Apache NiFi的API旨在由各种客户端调用,但在这种情况下,我认为您遇到了由CORS (Cross-Origin Resource Sharing)设置的安全预防措施。

如果服务器A(您的非NiFi机器)上的一段代码向不同的来源(您的NiFi实例)发出AJAX请求,并且HTTP方法不是GET(以及其他一些小的限制) ,服务器A将首先向远程实例发送“预检”请求,即HTTP OPTIONS,以确定哪些请求有效。服务器可以使用标头Access-Control-Allow-Origin: *来回复此标头,标头CrossOriginFilter是一个通配符值,表示它接受来自任何来源的请求。但是,如果要将凭据与请求一起发送,则必须在响应(Access-Control-Allow-Origin: https://serverA.com)中明确列出原始主机名。

由于NiFi使用嵌入式Jetty服务器来托管API,因此您可能必须明确地将described here添加为{{3}}。