linux下weblogic配置ssl访问
为了加强应用的安全性,我们一般会给生产环境上的应用配置上https访问。并且实现http访问自动跳转到https上。下面我来为大家介绍具体操作方法。
1、首先登陆到我们应用的实例中,我的实例路径是
[[email protected] domain8001]$ pwd
/picclife/wlserver122/user_projects/domains/domain8001
在此路径下建立一个文件夹用来存放我们生成的**文件。
[[email protected] domain8001]$ mkdir sslcert
创建完成后进入该目录
[[email protected] domain8001]$ cd sslcert/
[[email protected] sslcert]$
2、开始进行**的生成
---先执行
keytool -genkey -alias my_test -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname "CN=`hostname`,OU=Picclife,O=IT,L=chuanjing,S=beijinghaidian,C=China" -keypass zhanglw1986 -keystore keystore.jks -storepass zhanglw1986 -validity 360
可能会提示(jdk1.8环境下)
Warning:
JKS **库使用专用格式。建议使用 "keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
先删除已经生成的keystore.jks
再改成下面的方式
keytool -genkey -alias my_test -keyalg RSA -storetype PKCS12 -keysize 2048 -sigalg SHA256withRSA -dname "CN=`hostname`,OU=Picclife,O=IT,L=haidian,S=beijing,C=China" -keypass zhanglw1986 -keystore keystore.jks -storepass zhanglw1986 -validity 3600
参数解释:
my_test 别名,最好起的有意义
zhanglw1986 密码,自己想一个,尽量复杂一点
CN=commonName 通用名
OU=organizationUnit 组织部门名
O=organizationName 组织名
L=localityName 地址
S=stateName 州名
C=country 城市名
---再执行
keytool -selfcert -v -alias my_test -keypass zhanglw1986 -keystore keystore.jks -storepass zhanglw1986 -storetype jks -validity 3600
---再执行
keytool -export -v -alias my_test -file "`hostname`-rootCA.der" -keystore keystore.jks -storepass zhanglw1986
---再执行
keytool -import -v -trustcacerts -alias my_test -file "`hostname`-rootCA.der" -keystore trust.jks -storepass zhanglw1986
输入 Y 回车
至此**生成完毕。查看生成的文件
[[email protected] sslcert]$ ll
总用量 12
-rw-r--r--. 1 weblogic bea 2243 5月 14 19:27 keystore.jks
-rw-r--r--. 1 weblogic bea 955 5月 14 19:29 trust.jks
-rw-r--r--. 1 weblogic bea 887 5月 14 19:28 zhanglw-a-rootCA.der
3、登录weblogic控制台
3.1>先配置**库
点击“环境—服务器—AdminServer(管理)—配置—**库”,再点击“锁定并编辑”。需要修改的内容如下图:
值如下:
**库配置
**库: 定制标识和定制信任
----身份
定制身份**库: /picclife/wlserver122/user_projects/domains/domain8001/sslcert/keystore.jks
定制身份**库类型: JKS
定制身份**库密码短语:zhanglw1986
确认定制身份**库密码短语:zhanglw1986
----信任
定制信任**库: /picclife/wlserver122/user_projects/domains/domain8001/sslcert/trust.jks
定制信任**库类型:JKS
定制信任**库密码短语:zhanglw1986
确认定制信任**库密码短语:zhanglw1986
3.2>**库选项卡下的内容修改完毕后,点击“保存”,再点击“SSL”选项卡,编辑如下内容:
值如下:
私有**别名:my_test
私有**密码短语:zhanglw1986
确认私有**密码短语:zhanglw1986
点击“保存”。
3.3>启用SSL,点击“一般信息”选项卡。勾选“启用 SSL 监听端口”,端口可以自己改,不要冲突即可,这里我们采用默认的7002端口
点击“保存”,最后点击控制台左上角的“**更改”,至此控制台配置完成。
4、重启一下实例,然后访问测试
正常地址访问,使用http形式
http://192.168.129.136:8001/console/login/LoginForm.jsp
ssl方式访问,使用https形式
https://192.168.129.136:7002/console/login/LoginForm.jsp
5、应用部署
5.1>自己编写一个java web项目,传到服务器上
5.2>部署启动项目
5.3>访问项目
http://192.168.129.136:8001/test/index.jsp 可以访问
https://192.168.129.136:7002/test/index.jsp 也可以访问
初步达到我们想要的目的,但完美的是实现访问http时自动跳转到https。下面开始实现。
5.4>修改web应用中的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>
5.5>改了web.xml文件,需要重启weblogic实例的。
5.6>重启完毕后,我们再访问应用
我们在浏览器中输入http://192.168.129.136:8001/test/index.jsp
回车自动跳转到https://192.168.129.136:7002/test/index.jsp
至此我们实现了weblogic部署应用的https访问。