爲了加強應用的安全性,我們一般會給生產環境上的應用配置上https訪問。並且實現http訪問自動跳轉到https上。下面我來爲大家介紹具體操作方法。
1、首先登陸到我們應用的實例中,我的實例路徑是
[weblogic@zhanglw-a domain8001]$ pwd
/picclife/wlserver122/user_projects/domains/domain8001
在此路徑下建立一個文件夾用來存放我們生成的密鑰文件。
[weblogic@zhanglw-a domain8001]$ mkdir sslcert
創建完成後進入該目錄
[weblogic@zhanglw-a domain8001]$ cd sslcert/
[weblogic@zhanglw-a sslcert]$
2、開始進行密鑰的生成
---先執行
keytool -genkey -alias group_jianyishu -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 3600
可能會提示
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 112233 -keystore keystore.jks -storepass 112233 -validity 3600
參數解釋:
my_test 別名,最好起的有意義
112233 密碼,自己想一個,儘量複雜一點
CN=commonName 通用名
OU=organizationUnit 組織部門名
O=organizationName 組織名
L=localityName 地址
S=stateName 州名
C=country 城市名
---再執行
keytool -selfcert -v -alias my_test -keypass 112233 -keystore keystore.jks -storepass 112233 -storetype jks -validity 3600
---再執行
keytool -export -v -alias my_test -file "`hostname`-rootCA.der" -keystore keystore.jks -storepass 112233
---再執行
keytool -import -v -trustcacerts -alias my_test -file "`hostname`-rootCA.der" -keystore trust.jks -storepass 112233
輸入 Y 回車
至此密鑰生成完畢。查看生成的文件
[weblogic@zhanglw-a 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
定製身份密鑰庫密碼短語:112233
確認定製身份密鑰庫密碼短語:112233
----信任
定製信任密鑰庫: /picclife/wlserver122/user_projects/domains/domain8001/sslcert/trust.jks
定製信任密鑰庫類型:JKS
定製信任密鑰庫密碼短語:112233
確認定製信任密鑰庫密碼短語:112233
3.2>密鑰庫選項卡下的內容修改完畢後,點擊“保存”,再點擊“SSL”選項卡,編輯如下內容:
值如下:
私有密鑰別名:my_test
私有密鑰密碼短語:112233
確認私有密鑰密碼短語:112233
點擊“保存”。
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訪問。