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(管理)—配置—**库”,再点击“锁定并编辑”。需要修改的内容如下图:

linux下weblogic配置ssl访问

值如下:

**库配置
**库: 定制标识和定制信任

----身份
定制身份**库: /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”选项卡,编辑如下内容:

linux下weblogic配置ssl访问

值如下:
私有**别名:my_test
私有**密码短语:zhanglw1986
确认私有**密码短语:zhanglw1986

点击“保存”。

3.3>启用SSL,点击“一般信息”选项卡。勾选“启用 SSL 监听端口”,端口可以自己改,不要冲突即可,这里我们采用默认的7002端口

linux下weblogic配置ssl访问

点击“保存”,最后点击控制台左上角的“**更改”,至此控制台配置完成。

4、重启一下实例,然后访问测试

正常地址访问,使用http形式
http://192.168.129.136:8001/console/login/LoginForm.jsp

linux下weblogic配置ssl访问

ssl方式访问,使用https形式
https://192.168.129.136:7002/console/login/LoginForm.jsp

linux下weblogic配置ssl访问

5、应用部署

5.1>自己编写一个java web项目,传到服务器上

5.2>部署启动项目

5.3>访问项目

http://192.168.129.136:8001/test/index.jsp 可以访问

linux下weblogic配置ssl访问

https://192.168.129.136:7002/test/index.jsp 也可以访问

linux下weblogic配置ssl访问

初步达到我们想要的目的,但完美的是实现访问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

linux下weblogic配置ssl访问

回车自动跳转到https://192.168.129.136:7002/test/index.jsp

linux下weblogic配置ssl访问

至此我们实现了weblogic部署应用的https访问。