我已使用 -e ARANGO_NO_AUTH=1 从 docker 容器启动了 ArangoDB,并映射了卷 /var/lib/arangodb3 和 /var/lib/arangodb3-apps 到我的本地驱动器。接下来我想创建一个新的应用程序,但是当我从网络界面单击服务时,我收到以下错误:
GET http://127.0.0.1:8529/_db/_system/_admin/aardvark/foxxes 400(错误请求)
我是否需要经过身份验证才能执行此操作,还是这是一个 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 中不会出现该错误消息。
This error does not occur when i install arangodb in ubuntu, only when i run it with docker.
最佳答案
docker 镜像似乎需要设置授权 header ,但由于 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":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bad794d2dbd9d1c9cedfd3d4fadbc8dbd4ddd5ded894d9d5d7" rel="noreferrer noopener nofollow">[email protected]</a>"}],"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":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6c04090507032c0d1e0d020b03080e420f0301" rel="noreferrer noopener nofollow">[email protected]</a>"},{"name":"Michael Hackstein","email":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="aac784c2cbc9c1d9decfc3c4eacbd8cbc4cdc5cec884c9c5c7" rel="noreferrer noopener nofollow">[email protected]</a>"},{"name":"Lucas Dohmen","email":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1d71687e7c6e5d7c6f7c737a72797f337e7270" rel="noreferrer noopener nofollow">[email protected]</a>"}],"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镜像没有这个问题。
关于docker - 无法从 Web 界面访问 ArangoDB 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38080140/