CentOS 下 WebLogic 连接失败的定位与修复
一 快速判断连接类型
- 管理控制台访问失败:浏览器访问 http://服务器IP:7001/console 无响应或超时,多为端口未监听、被防火墙拦截、监听地址绑定错误。
- 应用对外服务端口不通:客户端访问应用端口(常见 7002/8080/9002 等)失败,需排查监听、网络与防火墙。
- 数据库连接失败:JDBC 无法获取连接,常见于 JDBC URL、驱动、账号权限、网络/防火墙、连接池 配置问题。
- SSL/HTTPS 握手或主机名校验失败:控制台或应用通过 HTTPS/T3S 访问时报 Hostname verification failed 等 SSL 错误。
二 管理控制台或应用端口不通的排查
- 检查进程与端口监听
- 查看进程:ps -ef | grep weblogic;查看监听:ss -lntp | grep -E ‘7001|7002|8080|9002’ 或 netstat -ano | grep -E ‘7001|7002|8080|9002’。
- 本机与远端连通性测试
- 本机:curl -I http://127.0.0.1:7001/console;远端:telnet 服务器IP 7001 或 nc -vz 服务器IP 7001。
- 防火墙放行
- firewalld:firewall-cmd --zone=public --add-port=7001/tcp --permanent && firewall-cmd --reload;iptables:iptables -I INPUT -p tcp --dport 7001 -j ACCEPT(按实际端口调整)。
- 监听地址绑定
- 若仅本机能访问,远程不通,检查 config.xml 中对应 Server 的 Listen Address,建议设为 0.0.0.0(或具体业务网口 IP),保存后重启。
- SELinux 干扰
- 临时:setenforce 0;永久:/etc/selinux/config 中设置 SELINUX=permissive/disabled,重启生效。
- 控制台启用状态
- 控制台若被禁用将返回 404,在域配置中确认启用后再重启。
三 数据库连接失败的排查
- 基础连通与权限
- 网络:ping 数据库主机;端口:telnet 数据库IP 端口(如 3306/5432);防火墙放行数据库端口(例:firewall-cmd --add-port=5432/tcp --permanent && firewall-cmd --reload)。
- 数据库服务:确认数据库已启动(如 systemctl status postgresql/mysqld)。
- JDBC 与数据源配置
- 核对 JDBC URL、驱动类名、用户名、密码;测试连接(控制台 Test),必要时替换最新驱动。
- 连接池与有效性
- 合理设置 Initial/Max Capacity、Wait Timeout、Test Connections on Reserve/Create/Release,避免连接耗尽与假死连接。
- 认证与账户
- 确保数据库用户具备从 WebLogic 主机访问的权限(主机白名单、密码正确)。
- 日志定位
- 查看 DOMAIN_HOME/servers/server_name/logs 下的 server_name.log / AdminServer.log 与 JDBC 相关异常堆栈,按报错修正 URL、账号或网络策略。
四 SSL HTTPS 或 T3S 连接失败的排查
- 主机名校验失败
- 现象:javax.net.ssl.SSLKeyException: Hostname verification failed。
- 处理(临时方案,生产慎用):在 startWebLogic.sh 的 JAVA_OPTIONS 增加
-Dweblogic.security.SSL.ignoreHostnameVerification=true
或
-Dweblogic.security.SSL.hostnameVerifier=examples.security.sslclient.NulledHostnameVerifier
重启生效。
- 证书链不受信任
- 确认服务器证书链完整,必要时导入中间 CA 到 WebLogic 信任库,或调整 SSL 配置后再测。
五 启动阶段认证与常见异常的修复
- 启动身份无效
- 现象:SecurityInitializationException: Authentication denied: Boot identity not valid。
- 处理:在域目录的 boot.properties(明文)中修正 username/password,首次启动会自动加密保存。
- 内嵌 LDAP/管理密码问题
- 现象:更改管理密码后受管服务器无法启动、或丢失管理密码。
- 处理:按官方流程重建管理员用户(示例命令位于域目录执行):
java -cp $WL_HOME/server/lib/weblogic.jar weblogic.security.utils.AdminAccount 新用户名 新密码
完成后用新凭据启动并同步域配置。