SpringBoot添加SSL证书的方法

一、先进行域名的购买

域名购买完毕,进行DNS的解析,我用的是阿里云的,服务器与域名都同时使用的阿里云

记录值这里填你的服务器的IP 地址

二、申请SSL证书

阿里云提供免费的SSL证书,一个人可以申请20个

找到这里

提交获取

然后进行证书的申请

填个人信息,填完一步步保存提交后,证书申请会需要绑定DNS解析

我的是阿里云的,直接去DNS控制台添加就行,你们的根据自己的去相应的添加

记录值改为TXT,主机记录跟记录值,直接复制给的就行

显示这样说明成功
然后根据自己的需要选择证书的下载

这里我用的是SpringBoot项目里面内置了tomcat所以下载了tomcat的
下载得到一个压缩包,解压后得到一个密钥跟密码(txt里面的是密码)

三、转换

找到jdk的安装目录进入bin,用管理员身份运行命令行窗口
输入

keytool -importkeystore -srckeystore latteitcjz.pfx -destkeystore latte.jks -srcstoretype PKCS12 -deststoretype JKS

#latteitcjz.pfx为你下载的证书的目录和名字
#新生成的名字latte.jks

输入两次一样的密码也就是txt文件里面的密码
然后会生成一个别名记得别名的名字

四、配置项目

将上面生成的latte.jks复制到resources目录下与application.yml同级,然后进行application的配置

server:
  ssl:
      key-store: classpath:latte.jks
      #这里是配置你刚才部署在resources下的".jks"文件
      key-password: latte   #这里是你解压后的"jks-password.txt"文件中的密码
      key-store-type: JKS
      key-alias: alias
      key-store-password: latte  #注意一定配这个密码,不要只配上面的,不然会报keystore password was incorrect
      #密钥口令和密钥库口令一致
  port: 443

http:
  port: 90

在启动类,添加以下的代码

 @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @Override protected void postProcessContext(Context context) {
                SecurityConstraint securityConstraint = new SecurityConstraint();

                securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*");

                securityConstraint.addCollection(collection);

                context.addConstraint(securityConstraint); } };

        tomcat.addAdditionalTomcatConnectors(redirectConnector()); return tomcat;

    }

    @Bean
    public Connector redirectConnector() {
        Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
        connector.setScheme("http");

		//监听90端口
        connector.setPort(90);

        connector.setSecure(false);
		//重定向与443
		//一个服务器只有一个443端口,注意d
        connector.setRedirectPort(443);

        return connector;

启动看看,如果报443端口占用问题,可能是你电脑安装有虚拟机,虚拟机vm那个占用了

打开命令行窗口

netstat -aon|findstr “443” ,

看有没有占用的,如果有

kill它: tasklist |findstr “进程号”

如果杀不掉,打卡任务管理器找到该进程号,结束任务,没有问题后,上传服务器测试就行

到此这篇关于SpringBoot添加SSL证书的方法的文章就介绍到这了,更多相关SpringBoot SSL证书内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot实战之SSL配置详解

    1.SSL介绍和说明 SSL的配置也是我们在实际应用中经常遇到的场景 SSL(Secure Sockets Layer,安全套接层)是为网络通信提供安全及数据完整性的一种协议,SSL在网络传输层对网络连接进行加密.SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持.SSL协议可以分为两层:SSL记录协议(SSL Record Protocal),它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装.压缩.加密等基础功能的支持.SSL握手协议(SSL Handsh

  • SpringBoot添加SSL证书的方法

    一.先进行域名的购买 域名购买完毕,进行DNS的解析,我用的是阿里云的,服务器与域名都同时使用的阿里云 记录值这里填你的服务器的IP 地址 二.申请SSL证书 阿里云提供免费的SSL证书,一个人可以申请20个 找到这里 提交获取 然后进行证书的申请 填个人信息,填完一步步保存提交后,证书申请会需要绑定DNS解析 我的是阿里云的,直接去DNS控制台添加就行,你们的根据自己的去相应的添加 记录值改为TXT,主机记录跟记录值,直接复制给的就行 显示这样说明成功 然后根据自己的需要选择证书的下载 这里我

  • 为SpringBoot服务添加HTTPS证书的方法

    HTTPS是HTTP的安全版本,旨在提供数据传输层安全性(TLS).当你的应用不使用HTTP协议的时候,浏览器地址栏就会出现一个不安全的提示.HTTPS加密每个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击. 您可以通过在Web应用程序上安装SSL证书来实现HTTPS,互联网上受信任的证书通常是需要(CA)颁发的证书.为了学习目的,您也可以使用自签名证书,比如:使用Java Keytool生成自签名证书. 一.自签名证书 您可以使用位于JDK bin文件夹下的Keytool生成证

  • springboot添加https服务器的方法

    什么是https 要说https我们得先说SSL(Secure Sockets Layer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密.SSL协议可以分为两层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议如TCP之上,为高层协议提供数据封装.压缩.加密等基本功能支持:SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际数据传输开始之前,通信双方进行身

  • Android APP之WebView校验SSL证书的方法

    Android系统的碎片化很严重,并且手机日期不正确.手机根证书异常.com.google.android.webview BUG等各种原因,都会导致WebViewClient无法访问HTTPS站点.SSL错误的处理方式十分关键,如果处理不当,可能导致中间人攻击,黑客窃听数据,进而引发安全事故. 严谨地处理onReceivedSslError尤为重要.请参考以下代码,原理是:如果webview报告SSL错误,程序将会对服务器证书进行强校验,如果服务器传入证书的指纹(sha256)与记录值一致,说

  • docker获取Let's Encrypt永久免费SSL证书的方法

    一.起因 官方的cerbot太烦了,不建议使用还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书 二.选型 cerbot的证书不会自动刷新日期,但是acme.sh自带这功能,每天凌晨0:00自动检测过期域名并且自动续期 选择docker运行cerbot,是为了让服务器里尽量少配置和无意义的程序,方便管理.例如Let's Encrypt需要的Python2.7,git,pip我们都不需要装在宿主机内,容器就自己配置好了 原文 ht

  • Linux Nginx下SSL证书安装方法及WordPress CDN配置

    一.Nginx安装SSL证书 需要两个配置文件 (温馨提示:安装证书前请先备份您需要修改的服务器配置文件) 1_root_bundle.crt: 2_domainname.com.key. 注:这三个证书文件都在文件夹for Nginx.zip中,例:1_root_bundle.crt是根证书链(公钥),2_ domainname.com.key为私钥. (其中:证书公钥.私钥文件一般以您的域名命名:证书后缀名crt和cer的性质是一样的). 二.Nginx证书代码修改 1.打开Nginx安装目

  • IIS服务器配置阿里云https(SSL)证书的方法

    给服务器配置https证书(即SSL证书),就可以实现https安全访问.下面介绍了在IIS服务器配置https证书的方法. 一.前提条件 1)已安装IIS服务器,且您的IIS服务器上已经开启了443端口(HTTPS服务的默认端口). 2)已安装OpenSSL工具. 3)已下载IIS服务器所需要的证书文件. 4)在配置之前可以在CA机构申请一张合适的SSL证书. 注:申请证书时需要选择系统自动创建CSR,如果选择手动创建CSR,则不会生成证书文件.您需要选择其他服务器下载.crt证书文件后,使用

  • Nginx 下配置SSL证书的方法

    1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下: 下载 Nginx 0.7.64 版本,解压 进入解压目录: 复制代码 代码如下: wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz tar zxvf nginx-0.7.64.tar.gz cd nginx-0.7.64 如果要更改heade

  • 阿里云负载均衡SLB安装SSL证书的方法

    获取证书文件 1.登陆用户中心(如何登陆用户中心?)获取SSL证书(证书管理系统现在有2个版本并存[根据购买SSL证书品牌,类型等随机分配],证书管理系统版本不同,获取证书方式略有差异,最终得到的证书是没有区别的,请按照您现行使用的证书系统版本获取证书文件.) 1-1. 版本1-如何获取SSL证书文件:点击这里 ,找到如下图所示页面,请把SSL证书文件(包括"-----BEGIN CERTIFICATE-----"和"-----END CERTIFICATE-----&quo

  • PHPStudy下如何为Apache安装SSL证书的方法步骤

    一.安装SSL证书的环境 Apache安装目录:E:phpStudyPHPTutorialApache 以上为windows下测试SSL证书安装的目录,具体目录请根据自己的实际环境! 二.获取SSL证书 成功在沃通申请SSL证书后,会得到一个压缩包文件,解压后得到四个文件:for Apache.for IIS.for Ngnix. for Other Server,Apache 上需要用到 for Apache解压出来的证书文件以及自主生成的私钥.key文件. key 文件,需要找到生成 CSR

随机推荐