Tomcat配置 https SSL证书 |
HTTP与HTTPS的区别:HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。 小程序访问的域名配置必须是配置ssl证书的合法域名,现在阿里云上买了个域名,备案过了,也申请了免费的ssl 证书,下载了tomcat的证书文件。下面是记录配置过程: 下载的证书文件,解压后是这个样子:只有两个文件的,一个是pfx格式的证书,一个是密码文本。 一、使用java jdk将PFX格式证书转换为JKS格式证书 在命令行界面输入以下代码: 1.切换到证书解压文件 的路径: pushd F:\1569577_wwwXXXX_tomcat (这是我的文件路径) 2.使用命令: keytool -importkeystore -srckeystore 你的证书名称.pfx -destkeystore domains.jks -srcstoretype PKCS12 -deststoretype JKS domains.jks是生成的jks格式证书名称。 回车,会提示你输入三次密码,建议三次都是输入密码文本的密码,成功后会再文件夹下生成domains.jks文件
命里行界面截图: 二、配置server.xml 先把domains.jks证书上传到服务上的Tomcat的conf文件夹下,我用的是FlashFXP工具上传。 切换到conf目录下编辑server.xml (Linux命令)
找到: 修改成以下代码:(443为https默认访问端口) <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" 为了让http访问自动跳转为https访问,这里顺便把这两个标签也改了,
注意:若最后启动tomcat时候报:Catalina.start using conf/server.xml: Element type "Connector" must be followed by either attribute ,请注意不要分行,每个属性间隔一个空格保存就好。本人遇到事这样解决的。 找到: 改成:
找到: 改成: 保存,退出。 三、配置web.xml 编辑web.xml
在该文件</welcome-file-list>标签(一般在文件最末尾)后面加上这样一段: <login-config> 保存,退出,重启tomcat. 测试:成功 |