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命令)

  • cd /usr/tomcat/apache-tomcat-8.5.11/conf  注意改成自己对应文件路径
  • vim server.xml

 找到:

修改成以下代码:(443为https默认访问端口)

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              keystoreFile="conf/domains.jks"
              keystorePass="80ISkH7c"   //证书密钥 ,密码文本那个
              clientAuth="false" sslProtocol="TLS" />

为了让http访问自动跳转为https访问,这里顺便把这两个标签也改了,

 

注意:若最后启动tomcat时候报:Catalina.start using conf/server.xml: Element type "Connector" must be followed by either attribute ,请注意不要分行,每个属性间隔一个空格保存就好。本人遇到事这样解决的。

找到:

改成:

 

找到:

改成:

保存,退出。

三、配置web.xml

编辑web.xml

  • vim web.xml

在该文件</welcome-file-list>标签(一般在文件最末尾)后面加上这样一段:

<login-config>  
    <!-- Authorization setting for SSL -->  
    <auth-method>CLIENT-CERT</auth-method>  
    <realm-name>Client Cert Users-only Area</realm-name>  
</login-config>  
<security-constraint>  
    <!-- Authorization setting for SSL -->  
    <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>

保存,退出,重启tomcat.

测试:成功

 

posted @ 2018-12-03 16:14  后浪_pro  阅读(45909)  评论(3编辑  收藏  举报