我在远程linux服务器上安装了neo4j服务器。该服务器使用nginx并具有虚拟主机。这是配置:
server {
listen 80;
listen [::]:80;
server_name neo.mydomain.in.ua;
access_log /var/log/nginx/neo-browser-access.log;
error_log /var/log/nginx/neo-browser-error.log;
location / {
proxy_pass http://localhost:7474;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
之所以使用它,是因为我无法使用端口7474,只能使用80或8080。
http://neo.mydomain.in.ua/browser/
,效果很好,我看到了neo4j-browser。但是我无法使用任何客户端(甚至使用控制台客户端)连接到DB。我知道了:
>> neo4j-client -u neo4j neo.mydomain.in.ua 80
OpenSSL error: 336031996:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
error: Unexpected error
但是当我尝试使用邮递员时,我得到了
>> http://neo.mydomain.in.ua/db/data/
{
"errors": [
{
"code": "Neo.ClientError.Security.Unauthorized",
"message": "No authentication header supplied."
}
]
}
这意味着我可以访问数据库,但不能通过neo4j-client访问。我尝试使用基本身份验证登录,并且可以正常工作。
怎么了?
答案 0 :(得分:1)
您需要打开7687端口才能连接Neo4j数据库。
从邮递员进行连接时,请提供身份验证,并将连接URL的端口更改为7687。
答案 1 :(得分:0)
问题解决了。我只是取消评论
dbms.connectors.default_listen_address=0.0.0.0
在我的neo4j.conf中。但是奇怪的是,即使禁用此选项,我也可以使用邮递员登录neo4j。 \(0_0)/