centos上weblogic如何配置SSL证书
导读:CentOS 上 WebLogic 配置 SSL 证书 一 准备证书与密钥库 使用 JDK keytool 生成密钥库与私钥别名(示例将文件放在 /opt/weblogic/ssl/,请按实际修改): 生成密钥库与私钥mkdir -p...
CentOS 上 WebLogic 配置 SSL 证书
一 准备证书与密钥库
- 使用 JDK keytool 生成密钥库与私钥别名(示例将文件放在 /opt/weblogic/ssl/,请按实际修改):
- 生成密钥库与私钥
mkdir -p /opt/weblogic/ssl cd /opt/weblogic/ssl keytool -genkey -alias server -keyalg RSA -keysize 2048 \ -keystore server.jks -storepass ChangeMe123 -keypass ChangeMe123 \ -dname "CN=your.domain.com,OU=IT,O=Org,L=City,ST=State,C=CN" - 生成 CSR(提交给 CA 申请证书)
keytool -certreq -alias server -file server.csr -keystore server.jks \ -storepass ChangeMe123 -keypass ChangeMe123
- 生成密钥库与私钥
- 安装证书链与服务器证书到同一密钥库(保持与私钥相同的别名 server):
# 导入根/中间 CA(按实际证书链顺序导入,通常先根后中间) keytool -import -trustcacerts -alias root -file root.cer -keystore server.jks -storepass ChangeMe123 keytool -import -trustcacerts -alias inter -file inter.cer -keystore server.jks -storepass ChangeMe123 # 导入服务器证书(必须与生成私钥时的别名一致:server) keytool -import -alias server -file server.cer -keystore server.jks -storepass ChangeMe123 - 可选:查看密钥库内容,确认证书链与别名
keytool -list -v -keystore server.jks -storepass ChangeMe123 | grep -E "Alias|Owner|Issuer" - 注意要点
- 服务器证书的 CN/Subject Alternative Name 需与访问域名一致,否则浏览器会告警。
- 导入服务器证书时若提示“认证已添加至keystore中”而非“认证回复已安装在keystore中”,多半是 别名不一致,请使用与生成私钥时相同的别名(本例为 server)。
二 在 WebLogic 控制台配置 SSL
- 登录 WebLogic 管理控制台,进入:环境 → 服务器 → 目标服务器(如:AdminServer)→ 配置
- 常规(General)
- 勾选 Listen SSL Port Enabled,设置 SSL 端口(常用 7002;生产可改为 443 并在前方用反向代理/负载均衡处理)。
- 密钥库(Keystores)
- 选择 Custom Identity and Java Standard Trust(单向认证);如需双向认证选择 Custom Identity and Custom Trust。
- Identity
- Custom Identity Keystore:填写 JKS 绝对路径(如:/opt/weblogic/ssl/server.jks)
- Type:jks
- Passphrase/Confirm:输入密钥库密码(如:ChangeMe123)
- Java Standard Trust(单向时使用 JRE 默认信任库)
- Cacerts Passphrase/Confirm:changeit(JRE 默认信任库密码)
- SSL
- Identity and Trust Locations:选择 Keystores
- Private Key Alias:输入私钥别名(本例:server)
- Private Key Passphrase/Confirm:输入私钥密码(如:ChangeMe123)
- 常规(General)
- 保存并激活更改(Active Changes),如控制台提示需重启则重启目标服务器。
三 系统与防火墙设置
- 开放防火墙端口(示例为 7002;若使用 443,请改为 443)
firewall-cmd --zone=public --add-port=7002/tcp --permanent firewall-cmd --reload - 如通过 Nginx/Apache 做 443→7002 反向代理,可仅对外开放 443,并在代理上终止 SSL。
四 验证与常见问题
- 访问测试
- 直接访问:https://your.domain.com:7002,应看到浏览器锁标识。
- 若部署在 443 或经反向代理,使用:https://your.domain.com。
- 常见问题排查
- 证书链不完整导致浏览器不信任:确认已按正确顺序导入 根 CA → 中间 CA → 服务器证书,且服务器证书别名为 server。
- 端口不通:检查 firewalld/安全组 是否放行对应端口,以及 WebLogic 监听地址是否为 0.0.0.0 而非仅 127.0.0.1。
- 别名不一致:导入服务器证书时若未使用与生成私钥相同的别名,会出现“认证已添加”而非“认证回复已安装”的提示,请统一为 server。
- 需要重启:部分版本/配置在保存密钥库与 SSL 后需重启才生效,按控制台提示执行。
五 可选 强制 HTTP 跳转 HTTPS
- 在应用的 web.xml 增加安全约束,使指定资源仅允许 CONFIDENTIAL(HTTPS)访问:
< security-constraint> < web-resource-collection> < web-resource-name> SSL< /web-resource-name> < url-pattern> /*< /url-pattern> < /web-resource-collection> < user-data-constraint> < transport-guarantee> CONFIDENTIAL< /transport-guarantee> < /user-data-constraint> < /security-constraint> - 注意:该方式依赖应用容器对 CONFIDENTIAL 的语义处理,通常触发 302 到 HTTPS;若需全站跳转,建议在反向代理/负载均衡层统一处理。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos上weblogic如何配置SSL证书
本文地址: https://pptw.com/jishu/749914.html
