server.key)和证书请求(server.csr);若从CA获取需准备证书文件(server.crt)及中间证书(intermediate.crt,如有)。若未从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(证书主题信息,需替换为实际值)。keystore.jks复制到WebLogic域的security/keystores目录(如/u01/weblogic/domains/base_domain/security/keystores/)。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一致。
http://your_server_ip:7001/console)。7002,可根据需求修改)。/home/weblogic/keystore.jks)、类型(JKS)、密码(ChangeMe123)。weblogic_ssl(与生成密钥库时的alias一致)。ChangeMe123)。若控制台配置未生效,可直接编辑域的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使配置生效。
# 停止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相关错误。
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)访问,避免未授权读取。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。