SpringBoot配置SSL证书支持

纯copy 非原创,原文链接:https://blog.csdn.net/sinat_40399893/article/details/79860942

Spring Boot配置ssl证书

一、申请有权威的SSL证书

在各大云服务商都可以申请到SSL官方证书。 
我这里是在阿里云上申请的,申请后下载,解压。如图: 

二、用JDK中keytool是一个证书管理工具,压缩成tomcat所支持的.jks

1、打开你安装的jdk目录下

2、打开dos命令框(命令提示符)

2.1、进入JDK所在的盘符,我的是D盘 
2.2、进入JDK下的bin目录 
2.3、输入这条命令(输入之前先修改:D:\https\214215109110451\214215109110451.pfx 部分是你下载的证书pfx所在路径,520oo.jks是自己命名的jks文件)

keytool -importkeystore -srckeystore D:\https\214215109110451\214215109110451.pfx -destkeystore 520oo.jks -srcstoretype PKCS12 -deststoretype JKS
  • 1

2.4、输入密码,三次输入的密码都要和解压的证书里密码一致,不一致有可能出错。 
2.5、记下别名:alias 

2.6、在bin目录下找到 jks文件(复制到项目的application.properties同级目录) 
 

三、修改Spring Boot的application.properties

#https加密端口号 443
server.port=443
#SSL证书路径 一定要加上classpath:
server.ssl.key-store=classpath:520oo.jks
#SSL证书密码
server.ssl.key-store-password=214215109110451
#证书类型
server.ssl.key-store-type=JKS
#证书别名
server.ssl.key-alias=alias

四、修改启动类,让http重定向到https

XXXApplication.java

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;

@SpringBootApplication

public class WebchatApplication  {

   public static void main(String[] args) {
      SpringApplication.run(WebchatApplication.class, args);
   }

   /**
    * http重定向到https
    * @return
    */
   @Bean
   public TomcatServletWebServerFactory servletContainer() {
      TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
         @Override
         protected void postProcessContext(Context context) {
            SecurityConstraint constraint = new SecurityConstraint();
            constraint.setUserConstraint("CONFIDENTIAL");
            SecurityCollection collection = new SecurityCollection();
            collection.addPattern("/*");
            constraint.addCollection(collection);
            context.addConstraint(constraint);
         }
      };
      tomcat.addAdditionalTomcatConnectors(httpConnector());
      return tomcat;
   }

   @Bean
   public Connector httpConnector() {
      Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
      connector.setScheme("http");
      //Connector监听的http的端口号
      connector.setPort(8080);
      connector.setSecure(false);
      //监听到http的端口号后转向到的https的端口号
      connector.setRedirectPort(443);
      return connector;
   }
}

然后大功告成

原文地址:https://www.cnblogs.com/MQTimor/p/9651509.html

时间: 2024-07-31 17:36:45

SpringBoot配置SSL证书支持的相关文章

【转】【链接】SpringBoot配置SSL同时支持http和https访问

SpringBoot配置SSL同时支持http和https访问:https://blog.csdn.net/qq_38288606/article/details/89478353#comments 原文地址:https://www.cnblogs.com/xiaostudy/p/12358297.html

springboot配置ssl证书

springboot默认使用的是tomcat: 1.先到阿里云上注册一个证书,绑定域名:后面可以在管理中下载证书,下载tomcat对应的证书(一个*.pfx文件和*.txt文件) 2.将pfx文件拷贝到项目资源目录(src/main/resources/)下: 3.进行配置: server: ssl: key-store: classpath: xxx.pfx(下载的tomcat证书文件) key-store-password: xxx(txt文件中的内容) keyStoreType: PKCS

nginx配置免费ssl证书支持https安全访问

1.自行颁发不受浏览器信任的SSL证书: HTTPS的SSL证书可以自行颁发,Linux下的颁发步骤如下: openssl genrsa -des3 -out www.aaa.com.key 1024 openssl req -new -key www.aaa.com.key -out www.aaa.com.csr openssl rsa -in www.aaa.com.key -out www.aaa.com_nopass.key Nginx.conf的SSL证书配置,使用www.aaa.c

Springboot配置ssl使用https

SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密,SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持.SSL协议分为两层,SSL记录协议建立在TCP之上,为高层协议提供数据封装.压缩.加密等基本功能支持.SSL握手协议建立在SSL记录协议之上,用户实际数据传输开始前进行身份验证.协商加密算法.交换加密秘钥. 1.生成证书,可以使自签名或者从SSL证书授权中心获得的. JDK中

SpringBoot 配置加密证书

1.在云平台下载证书 1.登录阿里云SSL证书控制台.   2.在SSL证书页面,单击已签发标签,定位到需要下载的证书并单击证书卡片右下角的下载. 3.定位到您需要安装证书的服务器类型并单击右侧操作栏的下载将证书压缩包下载到本地. 4.将证书解压缩后安装到您的Web服务器上. 阿里云SSL证书支持安装到以下类型的Web服务器:Tomcat(笔者这里下载的是这个证书,以下都是基于此证书进行操作)ApacheNginxIIS其他 2.将下载的证书通过jdk自带工具生成jks文件 1.进入到jdk的b

Windows下Apache配置SSL以支持https及出错的解决办法

步骤一:安装apache,使其支持SSL,并安装php 1.安装配有SSL模块的apache,apache_2.2.8-win32-x86-openssl-0.9.8g 2.配置apache以支持SSL: 1)打开apache的配置文件conf/httpd.conf LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf 去掉两行前面的# 2)注意修改httpd-ssl.conf 文件里的两个字段: S

Nginx配置SSL证书部署HTTPS网站(转)

原文:http://www.lovelucy.info/nginx-ssl-certificate-https-website.html 一.什么是 SSL 证书,什么是 HTTPS SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现: 1.数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听: 2.用户可以通过服务器证书验证他所访问的网站是否真实可靠. (via百度百科) HTT

centos安装nginx并配置SSL证书

centos安装nginx并配置SSL证书 安装nginx的命令 sudo yum install epel-release sudo yum install nginx 让nginx随系统启动而启动 sudo systemctl enable nginx 常用命令 启动:nginx 停止:nginx -s stop 重载配置:nginx -s reload 配置路径:/etc/nginx/ 日志路径:/var/log/nginx 打开配置文件 在HTTP节点下配置两个server节点,其他不变

window下为apache配置ssl证书

转载自 子非鱼 的博客稍作修改 第一步:依赖 配置Apache服务器支持https协议和SSL证书,最基本的要求是Apache包含openssl模块.还好apache/bin目录下有libeay32.dll.openssl.exe.ssleay32.dll,自带了ssl模块,若没有该模块,需自行下载单独的openssl. 第二步:启动模块 启动模块比较简单,打开apache的配置文件conf/httpd.conf,去掉ssl模块前面的# LoadModule ssl_module modules