3

当我尝试访问 InfluxDB 管理 UI 或通过 Graphana 时收到以下错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://54.zzz.xx.yyy:8086/cluster_admins/authenticate?u=abc&p=dec. This can be fixed by moving the resource to the same domain or enabling CORS.

请注意,仅当我尝试通过 Internet 连接时,当我转到服务器本地网络并将上面提到的公共 IP 更改为本地 IP 时,我才会收到此错误,一切正常。

现在我了解了什么是跨域错误和 CORS,我还知道我需要启用 CORS,因为错误在 InfluxDB 服务器中说,关键是我不知道该怎么做。

InfluxDB 位于 AWS 上的 Ubuntu 服务器 14.something 上。

4

2 回答 2

3

由于没有人回答,我求助于我的备份选项,使用 IIS 作为代理,它在内部从本地 Intranet 读取,从而避免了跨域错误。

详情见:http ://www.iis.net/learn/extensions/configuring-application-request-routing-(arr)/creating-a-forward-proxy-using-application-request-routing

您可以使用 Apache 或任何其他具有 URL 重写功能的 Web 服务器,就我而言,我使用的是 IIS。

编辑:原来它现在是硬编码的,以后会改变:https ://github.com/influxdb/influxdb/issues/1244#issuecomment-68219522

于 2014-12-23T12:59:42.280 回答
0

虽然这已经得到解答,但我想分享我的解决方案,让 Angular 应用程序使用 docker 和 Apache 作为反向代理访问 InfluxDB。使用此设置,您可以InfluxDBlocalhost:4200via发出请求http://localhost:8080/query?[..]

码头工人-compose.yml

version: '3'
services:
  apache:
    image: bitnami/apache:2.4
    ports:
      - 8080:8080
    volumes:
      - ./apache/influxdb_proxy.conf:/vhosts/influxdb_proxy.conf:ro
  influxdb:
    image: influxdb:1.7
    ports:
      - 8086:8086
    volumes:
      - ./influxdb/data:/var/lib/influxdb

apache/influxdb_proxy.conf

ProxyPass / http://influxdb:8086/
ProxyPassReverse / http://influxdb:8086/

Header set  Access-Control-Allow-Origin "http://localhost:4200"
于 2019-08-29T11:59:04.960 回答