Influxdb身份验证在Windows中不起作用

时间:2020-02-14 10:12:20

标签: windows authentication influxdb

我在Windows中下载了InfluxDB v1.7.10。
我编辑了influxdb.conf以启用 http auth

[http]
  # Determines whether HTTP endpoint is enabled.
   enabled = true

  # Determines whether the Flux query endpoint is enabled.
  # flux-enabled = false

  # Determines whether the Flux query logging is enabled.
  # flux-log-enabled = false

  # The bind address used by the HTTP service.
   bind-address = ":8086"

  # Determines whether user authentication is enabled over HTTP/HTTPS.
   auth-enabled = true

启动influxd.exe后,该服务成功启动。 但是,身份验证不起作用,因为我仍然可以在没有任何用户令牌(即用户名和密码)的情况下从influxDB查询信息。
而且我们可以观察到日志仍然指示未启用身份验证:

2020-02-14T09:53:22.371821Z     info    Starting HTTP service   {"log_id": "0KxmiPwl000", "service": "httpd", "authentication": false}

我还在Ubuntu18.04中安装了influxDB v1.7.10,按上述步骤启用身份验证后一切正常。

我不知道哪里出了问题,但是该程序似乎根本无法从Windows中的influxdb.conf中读取。

2 个答案:

答案 0 :(得分:0)

我也很难让InfluxDB使用配置文件。 当我将配置文件添加为参数时,它对我有用。 我将InfluxDB作为服务运行,为此使用nssm:

  1. 安装nssm(或其他合适的工具)
  2. 创建新服务
  3. 提供influxdb.exe的路径
  4. 将此参数(相应地更改路径)添加到服务:config "C:\path\to\your\influxdb\config"

答案 1 :(得分:0)

很可能,您是对的,因为您的自定义 influxdb.conf 被忽略了。要快速测试这是否确实是身份验证不起作用的原因,请在从命令提示符运行 influxd.exe 时使用配置标志,如下所示:

influxd.exe -config <path to your custom influxdb.conf>

但是请注意,无论出于何种原因,这都会将 influxd.exe 变成无法杀死的进程(至少,我无法弄清楚如何杀死它)。换句话说,像这样运行时,您必须重新启动计算机以关闭 influxDB。尽管如此,我认为这是快速测试被忽略的配置是否确实是您的身份验证无法正常工作的原因的最简单方法。

如果如上所述在启动 influxd.exe 时身份验证有效,那么我强烈建议您遵循 fxweidinger's answer。 (注意:在第 3 点“提供 influxdb.exe 的路径”中,将“influxdb.exe”替换为“influxd.exe”。)

此外,您绝对想看看 Richard Niemand 的这个 post,尤其是第 2 部分。(它基本上是 fxweidinger's answer 的一个非常详细的版本。)