tomcat上配置https协议

1. 制作证书

1.1.      使用keytool工具创建证书文件

keytool -genkey -alias tomcat -keyalg RSA-keysize 2048 -validity 36500 -keystore test.jks -file test.csr -ext SAN=dns:sso.test.com,dns:rest.test.com

该证书文件test.jks,包含一对公钥和私钥信息,供服务端使用;

参数说明

genkey:或者genkeypair,生成秘钥对;

alias:别名;

keyalg:秘钥算法名称;

keyalg:秘钥算法名称;

keysize:秘钥位长度,1024位不安全,建议2048位;

validity:有效期,单位是天;

keystore:可以是jks、keystore等后缀格式;

SAN后面,可以携带多个域名,即制作多域名证书;// TODO

输入以下信息:(秘钥库口令设置的是”tomcat”)

1.2.      导出公钥文件

keytool -export-alias tomcat -keystore test.jks -storepass tomcat -file test.cer

该文件test.cer,只包含对应的公钥信息,供客户端使用,比如浏览器;

2. 在服务端配置证书

2.1.      配置步骤

在Tomcat服务器上配置证书;

1、        打开文件/conf/server.xml;

2、        去掉HTTP端口配置信息;

3、        添加HTTPS配置信息;


注意:

在一台服务器上,启动多个Tomcat服务时,shutdown端口要配置成不一样的;

2.2.      其他问题

2.2.1.             PC前端跨域共享cookie数据

Tomcat服务器部署http协议时,跨域共享cookie数据,使用的是如下方法,cookie中包含token信息:

Tomcat服务器部署https协议是,之前的跨域共享cookie数据失效;

解决方法:

在js代码中,添加如下代码,都使用主域名test.com,cookie数据就可以共享了;

document.domain = "test.com";

3. 在客户端安装证书

3.1.      Windows系统安装证书

1、        双击test.cer,点击安装证书,进行安装;


2、        选择“将所有的证书放入下列存储”,存储在“受信任的根证书颁发机构”;


3、        弹出安全性警告,选择是,安装成功;


4、        如果想删除系统证书,

在windows7上,win + r,输入certmgr.msc,可以删除已经安装的证书;

说明:

Windows系统上,证书安装到系统中后,常见的浏览器,比如:IE,360,QQ等,打开页面时,会默认到系统证书中查找,如果找到,就直接使用,否则,会弹出安全警告;

经测试,Windows 7系统上安装证书后,可以直接正常访问https页面的浏览器如下:

(注意:先安装系统证书,再重启浏览器,打开登录界面)

1、        IE;

2、        Chrome;

3、        360安全浏览器;

4、        QQ浏览器;

5、        搜狗浏览器;

6、        遨游浏览器;

7、        百度浏览器;

8、        Safari;

9、        Opera;

不能直接正常访问的浏览器:

1、        Firefox;

3.2.      Firefox浏览器安装证书

Firefox有自己的一套证书系统,不使用windows的系统证书;

3.2.1.             方法一:添加例外

1、        打开Firefox浏览器,打开登录界面,弹出如下链接不安全提示;

2、        点击高级-》添加例外;

3、        确认安全例外后,可以正常打开页面;

4、        打开工具-》选项-》隐私与安全-》证书-》查看证书,打开证书管理器,可以看到刚才添加的例外证书;

注意:此处添加的证书,服务器(域名+端口),是一一对应的;如果是同一个证书(比如:多域名证书),配置在多个“域名+端口”上,就需要逐个添加;

3.2.2.             方法二:添加例外

1、        仿照方法一,直接在Firefox-》工具-》选项-》隐私与安全-》证书-》查看证书-》服务器-》添加例外,依次添加如下“域名+端口”对应的证书:

猜你喜欢

转载自blog.csdn.net/yhtppp/article/details/80840141