HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。–摘自百度百科
https是以安全为目标的http通道,简单讲是http的安全版。传输的数据会进行加密,处于安全性考虑,近期项目需要配置https协议,这里编写一下相应操作方法。
#1.找到jdk安装目录bin文件下的keytool文件,通过keytool工具生成密匙对内容
查找jdk安装路径命令:
echo $JAVA_HOME
2,输入如下命令,生成对应密匙(XXX请替换成你时间项目的内容,L=实际地址(市),ST=地址)。
keytool -genkey -v -alias weblogicsgepit -keyalg RSA -keysize 1024 -keypass sg@KDJ&*(epit -dname "CN=192.168.1.1,OU=XXXX,O=XXXX,L=XX市,ST=XX,C=CN" -validity 365 -keystore /home/weblogic/weblogic_identity.jks -storepass sgepit
3.输入命令,生成证书签发所需要的请求*.pem 文件(私有密钥)
keytool -certreq -v -alias weblogicsgepit -file /home/weblogic/cert_request.pem -keypass sg@KDJ&*(epit -storepass sg@KDJ&*(epit -keystore /home/weblogic/weblogic_identity.jks
4.执行完毕以上两步命令后,在weblogic文件夹下你会发现生成了两个文件,将生成的 weblogic_identity.jks 和 cert_request.pem 文件拷贝到weblogic 的base_domain 文件夹下
5.启动weblogic,进入管理控制台,配置密匙库信息
6.找到页面的keystores选项,按如下内容配置(注意检查核对配置内容!!!!):
(1) 密匙库: 选择 Custom Identity and Custom Trust
(2) 定制标识密匙库: weblogic_identity.jks
(3)定制标识密钥库类型: jks
(4)定制标识密钥库密码短语: sgepit
(5) 确认定制标识密钥库密码短语: sgepit
(6)定制信任密钥库: weblogic_identity.jks
(7)定制信任密钥库类型: jks
(8)定制信任密钥库密码短语: sgepit
(9) 确认定制信任密钥库密码短语: sgepit
7.配置SSL
找到菜单选项SSL,选择SSL,输入配置相应的信息内容。
SSL 选项卡
标识和信任位置: 选择 keystores
私有密钥别名: weblogicsgepit
私有密钥密码短语: sgepit
8.之后,启动SSL监听
9.测试
配置完毕,输入ip内容进行配置测试
URL地址:https://192.68.1.1:7002/项目名字;http://192.168.1.1.1:7001/项目名字(注意:端口请修改成你的环境所配置的端口!!!!)
输入地址进行测试(分别测试http协议和https协议内容),如果可以访问到项目,说明https协议已经配置成功。
10.拦截http,使http自动跳转到https。找到web.xml,加如下代码:
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
#### 11. 调整设置 HTTPS 的 SSL 版本
(1) 编辑 setDomainEnv.sh 文件(路径注意修改成你实际安装的路径,我这里是root用户安装的);
vi /root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
(2)在文件中找到JAVA_OPTIONS内容:
JAVA_OPTIONS="${JAVA_OPTIONS}"
export JAVA_OPTIONS
(3) 在找到的位置处加入下面内容
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.protocolVersion=TLS1"
export JAVA_OPTIONS