将 Foxx API 打开到本地网络

Opening Foxx API to local network

我已经设置了服务器端点,它们可以很好地用于 Web 界面,但是我的应用程序的 api 端点甚至没有给出错误,也没有超时。 我曾尝试在 Web 界面中将应用程序转为生产模式,但没有任何乐趣。 我查看了服务器设置文档,但可以找到任何有用的东西。

所以我认为他们的配置问题我应该去哪里看?

在本地主机上一切正常。 在使用 168.192.0.15:8530 的远程主机上,只有 Web 界面可以正常工作,而我的 api 形式要么是 curl 要么可能是 app

没有进一步的信息,我只能猜测是什么问题,但我会尝试:

ArangoDB 服务器的默认 --server.endpoint 配置值为 tcp://127.0.0.1:8529。这意味着您将能够从本地计算机访问它,但不能从其他主机访问它。

要使服务器响应来自其他主机的 HTTP 请求,您将需要使用包含网络中使用的服务器 IP 地址的端点,例如tcp://192.168.173.13:8529 并使用调整后的配置重新启动它。

如果这也不起作用,您能否尝试通过 curl 从另一台服务器调用目标 URL 并检查服务器的 HTTP 响应代码。这也可能揭示问题的根源。请注意,您应该使用选项 --dump - 调用 curl 以查看 HTTP 响应代码。例如:

curl -X GET --dump - http://192.168.173.13:8529/your/app 

如果这没有产生任何结果(即根本没有响应),您可能在阻止请求之间设置了防火墙。可能您需要允许访问 ArangoDB 使用的端口(8529 默认情况下并在我的示例中使用)。

所以我了解到问题是 api 端点 url 在本地主机上不相同,因为它们来自外部。示例:

curl -X GET --dump -  http://localhost:8529/broad/broad/login
curl -X GET --dump - http://192.168.0.15:8530/_db/_system/broad/broad/login

https://docs.arangodb.com/cookbook/MakingFoxxAppAccessible.html

这引出了我的答案