為了加強應用的安全性,我們一般會給生產環境上的應用配置上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>