【问题标题】:how to make influxdb accept cross-origin requests?如何让 influxdb 接受跨域请求?
【发布时间】:2015-04-07 14:35:24
【问题描述】:

我有 InfluxDB 在localhost:8086(它是默认的)上运行,而一个 go 程序在不同的端口上运行(因为它必须,也不能在 8086 上运行)。我试图在我的 go 程序中使用 JavaScript 将数据发布到 InfluxDB,我得到了No Access-Control-Allow-Origin 响应。 This github issue(由使用反向代理的人发布)说可以通过配置代理机制来解决问题,但我没有使用。有没有办法在没有得到响应的情况下将数据发布到 InfluxDB?通过 post 请求接收数据似乎是 InfluxDB 的核心功能,但它无法正常工作。

【问题讨论】:

  • 在你的POST 到 InfluxDB,你使用的是 URL 吗?您是否尝试过使用 IP 地址,如您发布的 github 链接中所示?这可能是最简单的解决方法。稍后在同一个线程中,有这个指向issue #1268 的链接,这可能就是您要查找的内容。

标签: influxdb


【解决方案1】:

如果它基于 Apache,您只需要允许您的站点 B 访问您的站点 A(它由站点 A 设置):How does Access-Control-Allow-Origin header work?。一个简单的 htaccess 就可以完成这项工作:

Header set Access-Control-Allow-Origin: http://localhost

(如果是访问站点A的本地主机)

【讨论】:

  • 你熟悉 InfluxDB 吗?我没有看到配置它的选项。您的回答似乎是针对一般问题,没有解决 InfluxDB 问题。
  • 绝对不是,但是(IMO)在 InfluxDB 中不是问题:这是来自站点 B 的通信问题,该站点 B 想要从站点 A 访问 javascript 中的资源:在这种情况下,站点 A 有说“好的,我允许站点 B 访问我的服务”,这正是“Access-Control-Allow-Origin”的用法。如果它是基于 Apache 的,你必须在 influxDB 上找到一个 .htaccess。不过不要太看“InfluxDB”,这不是“他”的问题。
  • 我的意思是,InfluxDB 是否允许其用户配置该选项。 (我也不认为它是基于 Apache 的)。此外,InfluxDB 不是一个网站,它是您安装在计算机上的东西,它应该让用户配置这些选项。
  • 是的,如果它不是基于 apache 的,它会复杂得多 :( 你必须发送一个带有 Access-Control-Allow-Origin 的 http 标头,但我不知道你怎么做在 influxDB 上,对不起 :(
猜你喜欢
  • 2013-08-20
  • 2022-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-15
相关资源
最近更新 更多