微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

neo4j 服务器端 javascript

如何解决neo4j 服务器端 javascript

我的 Windows PC 上有一个 neo4j 桌面 (1.​​4.3) 数据库。在 html 代码中,我使用

连接到数据库

const driver = neo4j.driver("bolt://IP_ADDRESS:7687",neo4j.auth.basic("neo4j","PASSWORD"));

之后我查询数据库并在网页上显示结果(我使用leafletjs地图,但这不是问题)

 var session = driver.session();
   session
  .run(`MATCH....etc.... return ....
    `)
  .subscribe({
     ...... etc

到目前为止一切都很好。我在我的 PC 或家庭网络中的另一台 PC 上运行该页面,一切正常。 neo4j 的设置是 (dbms.default_listen_address=0.0.0.0) 没有问题。

问题是我如何将此页面公开给我网络之外的同事? 使用 noip.com,我得到了一个临时域映射到我的外部 IP。 我还将路由器配置为转发端口 80。
但是当页面 Javascript 加载到外部客户端时,它会尝试连接到该客户端上的 neo4j。当我将外部 IP 地址放入“const driver ...”时,连接不起作用。

如何从我的服务器连接到数据库,但对数据库查询来自加载了 Javascript 的客户端?

编辑:忘记提及我也在使用 Apache Web Server (Xampp) 向远程用户提供页面

解决方法

一个简单的架构可以满足您的需求,同时降低向所有人开放数据库的风险,使用 HTTP 服务器 + API 可通过您的 noip 提供商访问。

您面向公众的前端(HTML + JavaScript(用于进行 API 调用等))向您的可公开访问的 API(例如 nodejs 服务器)发出 HTTP(s) 调用以进行数据库调用。 Cypher/与neo 的直接数据库连接在您用户的浏览器中没有位置。

您也可以使用像 GRANDstack 这样的启动器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。