tomcat7及springboot内置tomcat配置SSL安全证书

@Author orange 2020-05-26\

一、安装版tomcat配置ssl准备

1、 Tomcat支持PFX格式和JKS两种格式的证书,您可根据您Tomcat的版本择其中一种格式的证书安装到Tomcat上

前提条件

  • 您的Tomcat服务器上已经开启了443端口(HTTPS服务的默认端口),即在服务器打开443端口

  • 已安装OpenSSL工具。 下载完击下一步就是。像jdk一样配置环境变量下载连接

  • 下载Tomcat服务器所需要的证书文件,即安全证书ssl。

背景信息

、本文教程以Tomcat 7为例。
Tomcat 9强制要求证书别名设置为tomcat。您需要使用以下keytool命令将

protocol="HTTP/1.1"

替换成

protocol="org.apache.coyote.http11.Http11NioProtocol"
keytool -changealias -keystore domain name.pfx -alias alias -destalias tomcat

本文档证书名称以domain name为示例,例如:证书文件名称为domain name.pfx,证书密码文件名称为pfx-password.txt。

二、操作步骤

1、 在Tomcat安装目录下新建cert目录,将解压的证书和密码文件拷贝到cert目录下。

2、修改配置文件server.xml,并保存。 文件路径:Tomcat安装目录/conf/server.xml

3、去掉tomcat里面的注释,打开<Connector port=“8443”

<Connector  port="8443"
protocol="HTTP/1.1"
  port="8443" SSLEnabled="true"
  maxThreads="150" scheme="https" secure="true"
  clientAuth="false" sslProtocol="TLS" />

4、 参照以下内容添加并标签内容。

<Connector port="443"   #port属性根据实际情况修改(https默认端口为443)。如果使用其他端口号,则您需要使用https://yourdomain:port的方式来访问您的网站。
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="Tomcat安装目录/cert/domain name.pfx" #证书名称前需加上证书的绝对路径,请使用您证书的文件名替换domain name。
    keystoreType="PKCS12"
    keystorePass="证书密码"  #请替换为密码文件pfx-password.txt中的内容。
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

   

5.重启tomcat

6.证书安装完成后,可通过登录证书绑定域名的方式验证证书是否安装成功。

https://domain name.com   #domain name替换成证书绑定的域名。

如果网页地址栏出现小锁标志,表示证书安装成功。

springboot内置tomcat安装ssl证书
1、 将下载好的文件放到springboot工程resource下
2、 配置你的yml文件:

server:
  port: 443 #服务端口
  ssl:
    key-store: classpath:1844576_www......cn.pfx (下载的ssl安全文件的文件名)
    key-store-password: 你的证书密码  打开下载的那个文件密码
    key-store-type: PKCS12

3、创建跳转https配置文件

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.coyote.http11.Http11NioProtocol;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ConnectorConfig {

@Bean
public ServletWebServerFactory servletWebServerFactory() {
    TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
        @Override
        protected void postProcessContext(Context context) {
            SecurityConstraint securityConstraint = new SecurityConstraint();
            securityConstraint.setUserConstraint("CONFIDENTIAL");
            SecurityCollection securityCollection = new SecurityCollection();
            securityCollection.addPattern("/*");
            securityConstraint.addCollection(securityCollection);
            context.addConstraint(securityConstraint);
        }
    };
    factory.addAdditionalTomcatConnectors(redirectConnector());
    return factory;
}

private Connector redirectConnector() {
    Connector connector = new Connector(Http11NioProtocol.class.getName());
    connector.setScheme("http");
    connector.setPort(80);
    connector.setSecure(false);
    connector.setRedirectPort(443);
    return connector;
}

有问题可联系博主,共同学习

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@我不是大鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值