【发布时间】:2018-09-03 23:20:44
【问题描述】:
我一直在尝试设置 apache 反向代理以使用 arangodb 3.1.19
我知道这是生命的尽头,但是......
我可以让它工作如下:
https://docs.arangodb.com/2.8/cookbook/MakingFoxxAppAccessible.html
ProxyPass /arangodb/ http://127.0.0.1:8529/
ProxyPassReverse /arangodb/ http://127.0.0.1:8529/
ProxyPass /_db/ http://127.0.0.1:8529/_db/
ProxyPassReverse /_db/ http://127.0.0.1:8529/_db/
ProxyPass /_api/ http://127.0.0.1:8529/_api/
ProxyPassReverse /_api/ http://127.0.0.1:8529/_api/
我还在发行说明中找到了 3.x 中的新功能
https://docs.arangodb.com/3.1/Manual/ReleaseNotes/NewFeatures30.html
在反向代理后面“挂载”arangodb 方法的参考,
这对我来说听起来很像我正在寻找的东西,即共享 apache 反向代理的单个实例以反向代理各种服务,例如 Kibana (/KB/)、ArangoDB (/ADB/ ), ....
我可以让 Kibana 工作,但对于 ArangoDB,我不确定需要做什么。
这是我在 http.conf 中所做的:
<Location "/ADB/">
Header set 'X-Script-Name' /ADB
ProxyPreserveHost On
ProxyPath http://127.0.0.1:8529/
proxyPassReverse http://127.0.0.1:8529/
</Location>
与此同时,我尝试在其 arangod.conf 中添加信任来自 arangodb 的代理的选项
[server]
frontend.proxy-request-check = true
frontend.trusted-proxy = proxy_hostname.my_domain
当我完成以上所有操作时,直接访问 ArangoDB 前端就像魅力一样,但是当访问 URL 时:proxy_hostname.my_domain:8443/ADB/_db/MyDB/_admin/aardvark/index.html 它失败并显示错误面板:
"与服务器的连接已丢失。服务器可能在 重负载...尝试在 X 秒内重新连接”
浏览器检查器模块,显示对 URL proxy_hostname.my_domain:8443/ADB/_db/MyDB/.... 的代理请求会导致网络请求,如 URL proxy_hostname.my_domain:8443/_db/POC/ api/collection?=xxxxxxx
因此,将整个 ArangoDB 前端停放在“/ADB”basePath 后面的机制似乎不起作用。
我一定是遗漏了一些东西,如果有人提出最好的建议,将通用反向代理前端后面的这个 arangodb 公园作为“/ADB”根 URI 后面的 Web 应用程序实现,我将不胜感激。
干杯
【问题讨论】:
-
不建议直接暴露完整的ArangoDB API docs.arangodb.com/devel/Manual/Foxx/Guides/…