SonarQube进程正常运行但网页无法访问,连接拒绝求助
解决SonarQube显示启动完成但网页无法访问的问题
你已经看到控制台日志里所有核心进程(es、web、ce)都提示启动成功,甚至显示SonarQube is up,但网页访问时一直报连接拒绝,修改sonar.properties的地址和端口也没解决问题。下面给你几个针对性的排查步骤,帮你定位根源:
1. 确认SonarQube是否真的绑定了目标端口
控制台日志只说明进程启动,但不代表端口绑定成功。你可以用Windows命令行验证端口状态:
- 打开命令提示符,执行对应端口的检查命令:
比如默认端口是9000,就执行netstat -ano | findstr :<你的Sonar端口号>netstat -ano | findstr :9000。如果没有返回结果,说明SonarQube没成功绑定该端口;如果有结果,记下PID,再用tasklist | findstr <PID>确认是不是SonarQube的进程。
2. 排查防火墙或安全软件拦截
Windows防火墙、杀毒软件这类安全工具很可能拦截了SonarQube的端口访问:
- 先临时关闭Windows防火墙,尝试再次访问网页。如果能打开,说明需要给SonarQube的端口添加入站规则:
- 打开Windows Defender防火墙 → 高级设置 → 入站规则 → 新建规则
- 选择「端口」,输入你的SonarQube端口号,设置允许连接即可。
3. 查看Web服务的详细日志
控制台日志的信息比较简略,建议去SonarQube安装目录下的logs/web.log文件里找细节——这里会记录Web服务启动的全流程,比如是否有端口被占用、权限不足、配置加载失败等错误。比如日志里出现Address already in use就说明端口被其他进程抢了;如果有权限报错,试试以管理员身份启动SonarQube。
4. 确保sonar.properties的修改真正生效
修改配置后一定要完全停止SonarQube再重启,否则新配置不会加载:
- 检查配置项的正确性,注意不要留注释符号
#,也别拼写错误:# 如果需要让其他设备访问,设为0.0.0.0;仅本地访问则设为127.0.0.1 sonar.web.host=0.0.0.0 # 自定义端口,确保没被其他程序占用 sonar.web.port=9000
5. 验证Java环境的兼容性
SonarQube 6.7要求使用64位的Java 8,你当前用的是jre1.8.0_121,需要确认它是64位版本:
- 打开命令提示符,执行
java -version,如果输出里包含64-Bit说明符合要求;如果是32位,得换64位的JRE/JDK。
按上面的步骤逐一排查,应该能快速找到问题所在。
内容的提问来源于stack exchange,提问作者Dhaarani T
相关产品推荐
相关产品推荐

