gpt4 book ai didi

node.js - ArangoDB:从运行 Arango 的同一服务器连接时出现登录问题

转载 作者:行者123 更新时间:2023-12-02 20:46:27 25 4
gpt4 key购买 nike

我从运行 ArangoDB 的同一台服务器登录 ArangoDB 时遇到问题。

我们在远程机器上有一个正在运行的 ArangoDB Docker 容器,IP 是 95.123.123.123:8529。当从我们的 dockerized NodeJS 应用程序连接到数据库时,该应用程序在我的本地机器上运行,通过以下方式:

import { Database } from 'arangojs';

try {
const db = new Database({
url: 'http://95.123.123.123:8529',
});
db.useDatabase('flex');
db.useBasicAuth('root', 'password');
} catch(err) {
log('database login failed', err);
}

登录工作得很好。

但是,当我构建我们的应用程序时,将其 dockerize 并将其部署到运行 ArangoDB 的同一台服务器上,并使用上述相同的方法登录,登录失败。我们的服务器应用程序会记录以下错误 database login failed, Error: EIO: i/o error, write .

从本地计算机连接时登录如何工作,但从运行 Arango 的同一台远程计算机登录时却不行?

最佳答案

终于让它工作了。当服务器应用程序和 arango 在同一台服务器中时,问题是使用公共(public) IP 地址而不是内部 IP 地址。

运行

docker inspect --format '{{ .NetworkSettings.IPAddress }}' <arangocontainerid>

给出容器的内部 IP 地址: 172.17.0.4 .然后让 NodeJS 服务器应用指向 tcp://172.17.0.4:8529而不是公共(public)的arango IP地址,让它工作。

但是,当从本地机器或与 arango 不在同一台服务器中的任何机器访问数据库时,显然公共(public) IP 地址 http://95.123.123.123:8529然后必须使用。

关于node.js - ArangoDB:从运行 Arango 的同一服务器连接时出现登录问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52565376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com