Neo4j无法通过apache代理运行

Neo4j无法通过apache代理运行,apache,proxy,neo4j,Apache,Proxy,Neo4j,我能够通过服务器上的7474端口运行neo4j fine,包括密码查询。虽然当我通过apache代理访问neo4j时,它将正常加载,但通过cypher执行的任何请求都只会返回“未知错误”。我有其他代理,如rstudio运行良好 我在neo4j网站上尝试了代理配置的默认值,但没有成功。我不知道该尝试什么。请让我知道更多需要的信息,或者我如何才能获得关于密码错误的更多信息 我尝试了示例查询: CREATE (n {name:"World"}) RETURN "hello", n.name 当通过代

我能够通过服务器上的7474端口运行neo4j fine,包括密码查询。虽然当我通过apache代理访问neo4j时,它将正常加载,但通过cypher执行的任何请求都只会返回“未知错误”。我有其他代理,如rstudio运行良好

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

我尝试了示例查询:

CREATE (n {name:"World"}) RETURN "hello", n.name
当通过代理完成时,返回“未知错误”,但当通过端口7474完成时,工作正常

这是一台Linux Ubuntu LTR 12.04.4机器。 Neo4j 2.1.1 Apache 2.2.22 对不起,如果这是含糊不清的,但我没有找到任何帮助这个问题,我也不知道什么额外的信息将是相关的

多谢各位

更新:

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

现在看来(代理从“/”更改为“非功能”):

ProxyPass/数据库/http://localhost:7474/
ProxyPassReverse/数据库/http://localhost:7474/
重定向匹配永久^/数据库/数据库/
AddOutputFilterByType替换应用程序/json
代替|http://localhost:7474|http://localhost:8080|n“
我试图将替换规则从“localhost:8080”更改为“localhost:8080/database”并更改为“/database”,但没有成功


最后,有效的方法是使它成为子域,并且仍然在根上。不确定为什么会这样,但它是功能性的。再次感谢你Stefan

不久前,我为使用
mod_proxy
mod_substitute
设置了一个示例配置,请参阅。参见esp。
请注意,mod_substitute无法处理大于1M的大量响应。

请给出您的测试查询以及您如何称呼它?谢谢!这非常有效,到目前为止,我只是不确定如何将其从根域更改为根域(请参阅我问题的更新)。非常感谢Stefan。不确定,但我想你必须改变
http://localhost:8080
替换规则中的
http:///database
Hm,不,这不起作用。对于注释掉的其他URL路径:#ProxyPass/neo4j/#ProxyPassReverse/neo4j/,您如何使其发挥作用?这基本上就是我想要的,我没有让它与非根URL一起工作。作为一个解决方案考虑使用命名虚拟主机,例如App.MyDimaNy.Ne4J.MyDimaN.COM.OK,我将尝试这一点,并让您知道它是如何进行的。非常感谢。
 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>