目录

neo4j-解决neo4j网页版打不开

neo4j-解决neo4j网页版打不开


问题描述

我在云服务上部署了neo4j,并且设置了neo4j配置以及服务器的安全组,以便本地电脑可以访问。但是当我进入neo4j网页(http://<我的服务器IP>:7474)时,却无法访问。

解决方案

我先检查了一下防火墙

sudo firewall-cmd --list-ports

https://i-blog.csdnimg.cn/direct/a576058a5726441f9145813a189ccc1a.png

得到的信息是:防火墙没有运行。按理说,我防火墙都没打开,其他电脑的访问应该不会被拦截。但是我记得之前配置的时候,是开启了防火墙并且专门配置了neo4j的两个端口允许开放(当时配置后,本地电脑是可以访问的)。

抱着试一试的心态,我允许了防火墙,并重新配置了了neo4j的两个端口允许开放

sudo firewall-cmd --permanent --add-port=7474/tcp
sudo firewall-cmd --permanent --add-port=7687/tcp
sudo firewall-cmd --reload

https://i-blog.csdnimg.cn/direct/c77035a402da4c6db1dcd09c4940154b.png

保险起见,又重启了neo4j

systemctl restart neo4j

结果网页版就能打开了

https://i-blog.csdnimg.cn/direct/a36208f4d6894531baa4a8f000dc7b3d.png

原因刨析

通过查阅资料,我找了原因:

  1. firewalld 关闭后,系统不会主动应用 firewalld 之前的规则,而是回退到 默认的 iptables 规则 ,这些默认规则 可能不会开放 7474 和 7687 端口 ,导致外部访问失败。
  2. firewalld 主要是 iptables 的一个管理工具,当 firewalld 关闭时,它管理的规则不会生效。
  3. 默认情况下,大多数 Linux 发行版的 iptables 规则是封闭的 ,不允许外部访问非标准端口(比如 7474 和 7687)。