【问题标题】:ArangoDB Services from Web Interface not accessible无法访问来自 Web 界面的 ArangoDB 服务
【发布时间】:2016-06-28 15:17:42
【问题描述】:

我使用 -e ARANGO_NO_AUTH=1 从 docker 容器启动 ArangoDB 并映射卷 /var/lib/arangodb3/ var/lib/arangodb3-apps 到我的本地驱动器。接下来我想创建一个新应用,但是当我从 Web 界面单击 Services 时,出现以下错误:

GET http://127.0.0.1:8529/_db/_system/_admin/aardvark/foxxes 400 (Bad Request)

我是否需要通过身份验证才能做到这一点,还是这是一个 docker 问题?日志中没有错误。

在本例中,我使用的是 docker hub 的最新版本 2.8.9

Docker 命令:

docker run -e ARANGO_NO_AUTH=1 -p 8529:8529 --name arangodb-i -v /home/me/projects/dbs/arango/db:/var/lib/arangodb3 -v /home/me/projects/dbs/arango/apps:/var/lib/arangodb3-apps arangodb/arangodb

ArangoDB 信息:

INFO ArangoDB 3.0.0 [linux] 64bit, using VPack 0.1.30, ICU 54.1, V8 5.0.71.39, OpenSSL 1.0.1k 8 Jan 2015

错误消息出现在 Chrome 和 Firefox 中,但不在 curl 中。

当我在 ubuntu 中安装 arangodb 时不会出现此错误,仅当我使用 docker 运行时才会出现此错误。

【问题讨论】:

  • 请发布您用于运行 ArangoDB 的 docker 命令。

标签: docker arangodb nosql


【解决方案1】:

似乎 docker 映像需要设置 Authorization 标头,但由于 ARANGO_NO_AUTH 它似乎并不重要:

docker run --rm -e ARANGO_NO_AUTH=1 -p 8529:8529 arangodb/arangodb:3.0.0
curl  -H "Authorization: foo bar" http://127.0.0.1:8529/_db/_system/_admin/aardvark/foxxes
[{"mountId":"81","mount":"/_api/gharial","name":"gharial","description":"ArangoDB Graph Module","author":"ArangoDB GmbH","system":true,"development":false,"contributors":[{"name":"Michael Hackstein","email":"m.hackstein@arangodb.com"}],"license":"Apache License, Version 2.0","version":"3.0.0","path":"/usr/share/arangodb3/js/apps/system/_api/gharial/APP","config":{},"deps":{},"scripts":{}},{"mountId":"75","mount":"/_admin/aardvark","name":"aardvark","description":"ArangoDB Admin Web Interface","author":"ArangoDB GmbH","system":true,"development":false,"contributors":[{"name":"Heiko Kernbach","email":"heiko@arangodb.com"},{"name":"Michael Hackstein","email":"m.hackstein@arangodb.com"},{"name":"Lucas Dohmen","email":"lucas@arangodb.com"}],"license":"Apache License, Version 2.0","version":"3.0.0","path":"/usr/share/arangodb3/js/apps/system/_admin/aardvark/APP","config":{},"deps":{},"scripts":{}}]

这也有效:

curl  --user foo:bar http://127.0.0.1:8529/_db/_system/_admin/aardvark/foxxes

2.8.9镜像没有这个问题。

【讨论】:

  • 谢谢迈克。是的,这是真的。通过 curl 测试 API 时不会出现该错误。但它适用于网络界面。只需在控制台打开的情况下单击服务。
  • 我为此打开了一个问题,看起来它已在 3.0.1 中修复:github.com/arangodb/arangodb/issues/1907#event-712217551
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-06
相关资源
最近更新 更多