最近,公司要求將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。
提示:測試過程中會提示證書錯誤,這是因為這個證書並沒有真正到認證機構去申請認證,這個是要收錢的,到時由公司跟認證機構處理