You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Ubuntu 20 VM端口无法访问求助:Tomcat/Neo4j/Jenkins无法连接

排查Azure Ubuntu虚拟机服务访问被拒绝问题

1. 检查Ubuntu本地防火墙(UFW)状态

Azure入站规则生效的前提下,本地防火墙可能拦截了端口。登录SSH后执行:

sudo ufw status

如果显示Status: active,需要确认是否允许了目标端口,执行以下命令开放并重载规则:

sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
sudo ufw allow 7474/tcp
sudo ufw allow 8081/tcp
sudo ufw reload

若UFW处于关闭状态,直接跳过此步。

2. 验证服务监听的端口与地址

服务可能仅绑定了localhost(127.0.0.1),导致外部无法访问。执行以下命令查看端口监听情况:

sudo ss -tulpn | grep -E ':(443|80|7474|8081)'

正常输出应显示服务监听0.0.0.0或虚拟机的公网/内网IP,而非127.0.0.1。若绑定本地回环地址,需修改对应服务配置:

  • Tomcat:修改server.xml中<Connector>标签的address属性为0.0.0.0
  • Neo4j:在neo4j.conf中设置dbms.default_listen_address=0.0.0.0和dbms.connector.http.listen_address=0.0.0.0:7474
  • Jenkins:启动时添加参数--httpListenAddress=0.0.0.0,或修改配置文件中的监听地址

3. 确认服务是否正常运行

执行以下命令检查各服务状态:

# 检查Tomcat状态(若为systemd管理)
sudo systemctl status tomcat
# 检查Neo4j状态
sudo systemctl status neo4j
# 检查Jenkins状态
sudo systemctl status jenkins

若服务未运行,启动对应服务:

sudo systemctl start tomcat
sudo systemctl start neo4j
sudo systemctl start jenkins

可设置开机自启(可选):

sudo systemctl enable tomcat
sudo systemctl enable neo4j
sudo systemctl enable jenkins

4. 核对Azure网络安全组(NSG)规则细节

即使已配置入站规则,仍需确认:

  • 规则优先级足够高(数值越小优先级越高,避免被拒绝规则覆盖)
  • 规则源地址设置为Any或你的客户端IP(若指定IP,需确认当前客户端IP在范围内)
  • 规则协议为TCP(这些服务均基于TCP协议)
  • NSG已关联到虚拟机的子网或网络接口

5. 测试本地连通性

在SSH会话中尝试本地访问服务,确认服务本身功能正常:

curl http://localhost:80
curl https://localhost:443
curl http://localhost:7474
curl http://localhost:8081

若本地访问也失败,说明服务本身配置或启动存在问题,需优先排查服务自身故障。

内容的提问来源于stack exchange,提问作者Apri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 04:45:41