【问题标题】:Neo4j not functional through apache proxyNeo4j 无法通过 apache 代理运行
【发布时间】:2014-06-13 23:09:26
【问题描述】:

我可以通过我的服务器上的端口 7474 运行 neo4j,包括密码查询。虽然当我通过 apache 代理访问 neo4j 时,它会加载得很好,但是通过 cypher 完成的任何请求都只会返回“未知错误”。我有其他代理,例如 rstudio 运行得很好。

我在 neo4j 网站上尝试了代理配置的默认值,但没有成功。我不知道该尝试什么。请让我知道所需的更多信息,或者我如何获得有关密码错误的更多信息。

我尝试了示例查询:

CREATE (n {name:"World"}) RETURN "hello", n.name

当通过代理完成时,这会返回“未知错误”,但通过端口 7474 完成时,它可以正常工作

这是一台 Linux Ubuntu LTR 12.04.4 机器。 Neo4j 2.1.1 阿帕奇 2.2.22 抱歉,如果这含糊不清,但我没有找到任何有关此问题的帮助,也不知道哪些其他信息是相关的。

谢谢。

更新:

它现在适用于 Stefan 提供的案例(谢谢!)。但我不确定如何在您的示例中将其从域的根目录更改为“/database/”,您可以将其更改为“/neo4j”我将如何更改此配置文件的其他部分以使其正常工作?

现在看起来(从“/”更改代理后不起作用):

 ProxyPass /database/ http://localhost:7474/
 ProxyPassReverse /database/ http://localhost:7474/
 RedirectMatch permanent ^/database /database/
    <Location /db/manage>
            AddOutputFilterByType SUBSTITUTE application/json
            Substitute "s|http://localhost:7474|http://localhost:8080|n"
    </Location>

我尝试将替换规则从“localhost:8080”更改为“localhost:8080/database”并更改为“/database”,但无济于事。

关闭的方法是使它成为一个子域并仍然在根目录上。不知道为什么会这样,但它是功能性的。再次感谢 Stefan!

【问题讨论】:

  • 给我们您的测试查询以及您如何称呼它?

标签: apache proxy neo4j


【解决方案1】:

前段时间我设置了一个使用mod_proxymod_substitute 的示例配置,请参阅https://github.com/sarmbruster/vagrant_neo4j_modproxy。尤其是Apache config file。 请注意,mod_substitute 不适用于大于 1M 的巨大响应。

【讨论】:

  • 谢谢!这很好用,到目前为止,我只是不确定如何将其从根域中更改(请参阅我的问题的更新)。感谢 Stefan。
  • 不确定,但我想您必须将替换规则中的http://localhost:8080 更改为http://&lt;yourdomain&gt;/database
  • 嗯,不,这不起作用。对于被注释掉的其他 URL 路径:#ProxyPass /neo4j/localhost:7474#ProxyPassReverse /neo4j/localhost:7474,你如何让它发挥作用?这基本上就是我想要的
  • 我没有让它与非根 URL 一起工作。作为一种解决方法,请考虑使用命名虚拟主机,例如app.mydomain.com 和 neo4j.mydomain.com。
  • 好的,我要试试这个,让你知道它是怎么回事。谢谢
猜你喜欢
  • 2014-12-05
  • 2020-06-15
  • 2023-02-03
  • 1970-01-01
  • 2017-11-21
  • 2016-01-03
  • 1970-01-01
  • 2019-08-10
  • 1970-01-01
相关资源
最近更新 更多