为了加强应用的安全性,我们一般会给生产环境上的应用配置上https访问。并且实现http访问自动跳转到https上。
1、首先在weblogic 目录下面创建一个文件夹用来存放生成的密钥文件。
/app/domains/basedomains/security
2、生成密钥
keytool -genkey -alias weblogicHL -keyalg RSA -keypass passw0rd -storepass passw0rd -keystore DemoIdentity.jks -validity 3650 -dname "CN=`hostname`,OU=NONE,O=NONE,L=guangzhou,ST=guangdong,C=GZ"
参数解释:
weblogicHL 别名
passw0rd 密码
CN=commonName 通用名
OU=organizationUni 组织部门名
O=organizationName 组织名
L=localityName 地址
S=stateName 州名
C=country 城市名
-validity 3650 3650为自己定义证书的有效期,单位为天
keytool -selfcert -v -alias weblogicHL -keypass passw0rd -keystore DemoIdentity.jks -storepass passw0rd -storetype jks -validity 3650
keytool -export -v -alias weblogicHL -file "`hostname`-rootCA.der" -keystore DemoIdentity.jks -storepass passw0rd
keytool -import -v -trustcacerts -alias weblogicHL -file "`hostname`-rootCA.der" -keystore DemoTrust.jks -storepass passw0rd
输入 Y 回车,至此密钥生成完毕。查看生成的文件
3、配置密钥库
点击“环境—服务器—AdminServer(管理)—配置—密钥库”,再点击“锁定并编辑”。需要修改的内容如下图:
值如下:
密钥库配置
密钥库:定制标识和定制信任
----身份
定制身份密钥库:DemoIdentity.jks文件路径
定制身份密钥库类型: JKS
定制身份密钥库密码短语: passw0rd
----信任
定制信任密钥库: DemoTrust.jks文件路径
定制信任密钥库类型: JKS
定制信任密钥库密码短语: passw0rd
修改完后点击保存
4、配置SSL
值如下:
私有密钥别名: DemoIdentity
私有密钥密码短语:passw0rd
5、启用SSL,点击“一般信息”选项卡。勾选“启用 SSL 监听端口”,端口可以自己改,不要冲突即可
6、重启服务,测试访问
7、应用部署实现访问http时自动跳转到https
修改web应用中的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>