温馨提示×

weblogic在ubuntu上如何配置SSL证书

小樊
47
2025-10-18 19:19:35
栏目: 云计算

WebLogic在Ubuntu上配置SSL证书步骤

1. 前提准备

  • 确保Ubuntu服务器已安装JDK(版本符合WebLogic要求,如JDK 8或11)和WebLogic Server(已正常运行)。
  • 准备SSL证书文件:若自签名需生成私钥(server.key)和证书请求(server.csr);若从CA获取需准备证书文件(server.crt)及中间证书(intermediate.crt,如有)。

2. 生成自签名SSL证书(可选)

若未从CA获取证书,可使用keytool(JDK自带)生成自签名证书:

# 生成密钥库(JKS格式)和私钥
keytool -genkeypair -alias weblogic_ssl -keyalg RSA -keysize 2048 -keystore /home/weblogic/keystore.jks -storepass ChangeMe123 -keypass ChangeMe123 -dname "CN=your_server_ip, OU=IT, O=YourCompany, L=Beijing, ST=Beijing, C=CN"
  • 参数说明:alias(证书别名)、keystore(密钥库路径)、storepass(密钥库密码)、keypass(私钥密码)、dname(证书主题信息,需替换为实际值)。

3. 导入证书到WebLogic密钥库

  • 自签名证书:直接将生成的keystore.jks复制到WebLogic域的security/keystores目录(如/u01/weblogic/domains/base_domain/security/keystores/)。
  • CA签名证书:将server.crt导入密钥库(若密钥库未创建,需先执行步骤2生成):
    keytool -import -alias weblogic_ssl -file /path/to/server.crt -keystore /home/weblogic/keystore.jks -storepass ChangeMe123
    
  • 中间证书(若有):需先导入中间证书,再导入服务器证书:
    keytool -import -alias intermediate_ca -file /path/to/intermediate.crt -keystore /home/weblogic/keystore.jks -storepass ChangeMe123
    keytool -import -alias weblogic_ssl -file /path/to/server.crt -keystore /home/weblogic/keystore.jks -storepass ChangeMe123
    

    注:alias需与生成密钥库时的alias一致。

4. 配置WebLogic控制台启用SSL

  1. 登录WebLogic管理控制台(http://your_server_ip:7001/console)。
  2. 导航至环境 > 服务器 > AdminServer > 配置 > 一般
    • 勾选“启用SSL监听端口”,设置SSL端口(默认7002,可根据需求修改)。
  3. 导航至环境 > 服务器 > AdminServer > 配置 > 密钥库
    • 选择“自定义标识和自定义信任”。
    • 设置“自定义标识密钥库”路径(如/home/weblogic/keystore.jks)、类型(JKS)、密码(ChangeMe123)。
    • 设置“自定义信任密钥库”为同一密钥库(或单独的信任库,若有多个证书)。
  4. 导航至环境 > 服务器 > AdminServer > 配置 > SSL
    • 在“私有密钥别名”中输入weblogic_ssl(与生成密钥库时的alias一致)。
    • 输入“私有密钥密码”(ChangeMe123)。
  5. 保存所有配置。

5. 修改config.xml文件(可选)

若控制台配置未生效,可直接编辑域的config.xml文件(位于/u01/weblogic/domains/base_domain/config/):

<server>
    <name>AdminServer</name>
    <listen-port>7001</listen-port>
    <ssl>
        <enabled>true</enabled>
        <keystore>
            <name>keystore.jks</name>
            <path>/home/weblogic/keystore.jks</path>
            <password>ChangeMe123</password>
        </keystore>
        <key-alias>weblogic_ssl</key-alias>
    </ssl>
</server>

保存文件后,需重启WebLogic使配置生效。

6. 重启WebLogic服务器

# 停止WebLogic
/u01/weblogic/user_projects/domains/base_domain/bin/stopWebLogic.sh

# 启动WebLogic
/u01/weblogic/user_projects/domains/base_domain/bin/startWebLogic.sh

等待启动完成,检查日志(/u01/weblogic/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log)确认无SSL相关错误。

7. 验证SSL配置

  • 浏览器访问:输入https://your_server_ip:7002(替换为实际IP和SSL端口),检查浏览器地址栏是否显示锁图标(表示证书有效)。
  • 命令行验证:使用openssl命令检查SSL连接:
    openssl s_client -connect your_server_ip:7002 -showcerts
    
    若输出中包含“Verify return code: 0 (ok)”,则表示SSL配置成功。

注意事项

  • 权限设置:确保证书文件(keystore.jks)和配置文件的权限仅允许WebLogic用户(如weblogic)访问,避免未授权读取。
  • 证书有效期:定期检查证书有效期(自签名证书默认1年),提前更新避免服务中断。
  • HTTP自动跳转HTTPS(可选):若需强制使用HTTPS,可修改WebLogic的web.xml文件(位于应用WEB-INF目录),添加以下配置:
    <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>
    
    重启应用后,HTTP请求将自动跳转至HTTPS。

0