weblogic配置https,http自动跳转转https,ssl
最近,公司要求将http改为https
在网上搜索下可以找到很多,这里自己总结一下
1、配置weblogic,生成密钥
首先新建一个domain,将如下代码保存成.bat文件,拷贝到domain下运行,自动生成密钥,不需要像网上说的那样繁琐使用命令
@echo off echo 开始创建密钥... keytool -genkey -alias weblogic -keyalg RSA -keypass pssword -storepass pssword -keystore weblogic.jks -validity 365 -dname "CN=127.0.0.1,OU=部门名,O=公司名,L=市区,ST=省份,C=家" echo 生成证书签发... keytool -certreq -alias weblogic -keyalg RSA -keypass pssword -storepass pssword -keystore weblogic.jks -file weblogic.pem echo 正在导出密钥... keytool -export -trustcacerts -alias weblogic -file weblogic.cer -keystore weblogic.jks -storepass pssword echo 结束... pause;
注意不要随意换行,运行后会自动生成weblogic.jks,weblogic.pem,weblogic.cer 密码为pssword、到时配置weblogic时,填写这个密码
具体参数可自行修改
2、配置weblogic,懒得写,自己拷贝别人的配置方法。注意将jks名字改回bat文件生成的名字,同时密码改为pssword
启动weblogic,进入管理控制台
配置密匙库信息
选择一个需要使用的server,点击进入,选择 密匙库(keystores) ,填写相应的信息。
密匙库: |
选择 定制标识和定制信任 |
定制标识密匙库: |
weblogic.jks |
定制标识密钥库类型: |
jks |
定制标识密钥库密码短语: |
pssword |
确认定制标识密钥库密码短语: |
pssword |
定制信任密钥库: |
weblogic.jks |
定制信任密钥库类型: |
jks |
定制信任密钥库密码短语: |
pssword |
确认定制信任密钥库密码短语: |
pssword |
配置SSL信息
选择SSL选项卡,输入相应的信息。
SSL协议测试
然后在浏览器中输入 https://127.0.0.1:7002/console ,进行测试。
3、https://127.0.0.1:7002/项目名字 输入这个地址后你会发现https已经可以访问你的项目了。但有个问题是
http://127.0.0.1:7001/项目名字 这个地址一样能够访问项目
这时候要拦截http,使http自动跳转到https
找到你项目的web.xml文件,加入如下代码:
在<web-app></web-app>之间
<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。
提示:测试过程中会提示证书错误,这是因为这个证书并没有真正到认证机构去申请认证,这个是要收钱的,到时由公司跟认证机构处理