温馨提示×

如何在centos上配置weblogic SSL

小樊
46
2026-01-08 06:22:50
栏目: 云计算

在 CentOS 上为 WebLogic 配置 SSL 的完整步骤


一 准备证书与密钥库

  • 使用 JDK 的 keytool 创建自定义密钥库并生成 CSR(证书签名请求),随后导入 CA 签发的服务器证书与中间证书。注意:证书的 CN 必须与访问域名或服务器名一致,否则浏览器会告警。
  • 示例命令(请按实际域名、路径、密码替换):
    # 1) 生成密钥库与私钥(CN 建议用 FQDN)
    keytool -genkeypair \
      -alias weblogic \
      -keyalg RSA -keysize 2048 \
      -dname "CN=web.example.com,OU=Dev,O=Org,L=City,ST=State,C=CN" \
      -validity 365 \
      -keystore /opt/weblogic/security/identity.jks \
      -storepass ChangeMe123 \
      -keypass ChangeMe123
    
    # 2) 生成 CSR
    keytool -certreq \
      -alias weblogic \
      -file /opt/weblogic/security/web.csr \
      -keystore /opt/weblogic/security/identity.jks \
      -storepass ChangeMe123
    
    # 3) 导入根 CA(如有)
    keytool -importcert -alias rootca \
      -file /opt/weblogic/security/root.cer \
      -keystore /opt/weblogic/security/identity.jks \
      -storepass ChangeMe123 -trustcacerts
    
    # 4) 导入中间 CA(如有)
    keytool -importcert -alias intermediate \
      -file /opt/weblogic/security/intermediate.cer \
      -keystore /opt/weblogic/security/identity.jks \
      -storepass ChangeMe123 -trustcacerts
    
    # 5) 导入服务器证书
    keytool -importcert -alias weblogic \
      -file /opt/weblogic/security/server.crt \
      -keystore /opt/weblogic/security/identity.jks \
      -storepass ChangeMe123
    
    说明:
    • 若使用知名第三方 CA,通常只需导入服务器证书;自签或私有 CA 需同时导入根/中间证书。
    • 证书链顺序建议为:服务器证书 → 中间证书 → 根证书(导入时按此顺序执行)。

二 在 WebLogic 控制台配置 SSL

  • 登录 WebLogic 管理控制台,进入:Environment → Servers → 目标服务器(如 AdminServer)→ Configuration
  • 配置密钥库(Keystores)
    • Keystores:Custom Identity and Java Standard Trust(单向认证常用;双向认证选 Custom Identity and Custom Trust)。
    • Identity:
      • Custom Identity Keystore:填写 /opt/weblogic/security/identity.jks
      • Type:JKS
      • Passphrase:输入创建密钥库时的密码
    • Trust:Java Standard Trust Keystore 使用 JRE 的 cacerts(路径通常为 $JAVA_HOME/jre/lib/security/cacerts),密码为 changeit(如未修改)。
  • 配置 SSL
    • 勾选 Listen SSL Port Enabled,设置端口(常用 7002;生产对外建议 443)。
    • Identity and Trust Locations:Keystores
    • Private Key Alias:weblogic
    • Private Key Passphrase:输入私钥保护密码
  • 保存并激活更改(必要时重启服务器使配置生效)。

三 系统与防火墙设置

  • 开放端口(示例为 7002;若对外服务使用 443,请改为 443)
    sudo firewall-cmd --permanent --add-port=7002/tcp
    sudo firewall-cmd --reload
    
  • 如将 HTTPS 端口改为 443,确保以 root 启动 WebLogic 或配置端口转发(1024 以下端口需要特权)。

四 验证与常见问题

  • 访问测试
    • 打开浏览器访问:https://服务器IP或FQDN:7002,确认地址栏显示锁标识且证书链完整。
  • 常见问题排查
    • 证书链不完整:浏览器提示不受信任,需确保导入了中间证书与(如适用)根证书
    • 域名不匹配:证书 CN/SAN 与访问域名不一致,需重新签发包含正确域名的证书。
    • 端口不通:检查 firewalld/安全组 是否放行对应端口,以及 WebLogic 监听是否在该端口。
    • 私钥别名错误:在 Servers → SSL → Private Key Alias 核对别名与密钥库内一致。
  • 可选 强制 HTTP 跳转 HTTPS(应用层)
    • 在应用的 web.xml 增加:
      <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>
      
    • 注意:这是应用层约束,不能替代在 WebLogic 或前端的 301/负载均衡层面的跳转配置。

0