Springboot 通过配置SSL实现http自动https

一、 证书是什么

1、数据的安全性

对数据进行签名(加密)是我们在网络中最常见的安全操作。签名有双重作用,作用一就是保证数据的完整性,证明数据并非伪造,而且在传输的过程中没有被篡改,作用二就是防止数据的发布者否认其发布了该数据。

2、SSL协议

SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密,SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持。SSL协议分为两层,SSL记录协议建立在TCP之上,为高层协议提供数据封装、压缩、加密等基本功能支持。SSL握手协议建立在SSL记录协议之上,用户实际数据传输开始前进行身份验证、协商加密算法、交换加密秘钥。

3. .jks文件

jks是Java密钥库(KeyStore)比较常见的一种格式(我所知道的共有5种,JKS, JCEKS, PKCS12, BKS,UBER),是JAVA的keytools证书工具支持的证书私钥格式。

二、 通过Springboot配置SSL

1、生成证书

  • 专业的SSL证书较为昂贵,可以在腾讯云或者阿里云上申请免费的SSL证书。
  • 如果只是做简单的demo,可以使用java自带的keytool工具生成SSL证书。可参考 keystore.jsk打包

2、application.yml 配置

3、测试SSL是否配置成功


测试: https://localhost:8443/api/v1.0/demo/testDemo 看是否有返回值,返回了如上图描述,就表示成功了

4、若有http自动跳转到https等需求,则向spring容器中注入两个Bean,代码如下【注意下,springboot2.X 之后调整了 TomcatEmbeddedServletContainerFactory调整成了 TomcatServletWebServerFactory】



测试:https://localhost:8080/api/v1.0/demo/testDemo 看是否自动跳转到了https://localhost:8443/api/v1.0/demo/testDemo ,就表示成功了

原文地址:https://blog.51cto.com/12066352/2448775

时间: 2024-10-18 10:21:14

Springboot 通过配置SSL实现http自动https的相关文章

在 Tomcat 中配置 SSL/TLS 以支持 HTTPS

本件详细介绍了如何通过几个简单步骤在 Tomcat 中配置 SSL/TLS .使用 JDK 生成自签名的证书,最终实现在应用中支持 HTTPS 协议. 生产密钥和证书 Tomcat 目前只能操作 JKS.PKCS11.PKCS12 格式的密钥存储库.JKS 是 Java 标准的"Java 密钥存储库"格式,是通过 keytool 命令行工具创建的.该工具包含在 JDK 中.PKCS12 格式一种互联网标准,可以通过 OpenSSL 和 Microsoft 的 Key-Manager 来

配置 SSL、TLS 以及 HTTPS 来确保 Elasticsearch、Kibana、Beats 和 Logstash 的安全

配置主机hosts文件 192.168.75.20 filebeat.local kibana.local logstash.local 192.168.75.22 node2.elastic.test.com node2 说明: 192.168.75.20主机上配置filebeat,logstash和kibana 192.168.75.22主机上配置elasticsearch instances.yml文件内容 存储路径:/usr/share/elasticsearch instances:

nginx配置ssl成为简单的HTTPS服务器

在任意路径下(例如/opt/nginx/crt/)执行以下命令,生成证书和key: openssl genrsa -des3 -out openssl.key 1024 openssl req -new -x509 -key openssl.key -out openssl.crt -days 3650 openssl rsa -in openssl.key -out openssl_nopass.key 生成的证书:openssl.crt 证书的key:openssl_nopass.key 编

为什么说网站SSL认证至关重要?HTTPS加密防劫持刻不容缓

近年来,随着谷歌.火狐.苹果等对HTTPS加密的大力推进,HTTPS已经成为了网站"标配".HTTPS中的S象征着secure,即HTTP Secure也称为HTTP的安全版,HTTP网站可以通过配置SSL证书实现向HTTPS的升级.今天,我们就在这里说一下SSL证书的作用及应用. 网站部署SSL证书的作用网站部署SSL证书后就会自动激活浏览器中内置的SSL协议,SSL(安全套阶层)是在传输协议上实现的一种安全协议,在应用层(HTTP.FTP.Telnet等)协议通信之前就已经通复杂的

Springboot配置ssl使用https

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

【转】【链接】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

Windows下Nginx配置SSL实现Https访问(包含证书生成)

Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客户端

Nginx配置SSL证书部署HTTPS网站

一.什么是 SSL 证书,什么是 HTTPSSSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:1.数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听:2.用户可以通过服务器证书验证他所访问的网站是否真实可靠. HTTPS 是以安全为目标的 HTTP 通道,即 HTTP 下加入 SSL 加密层.HTTPS 不同于 HTTP 的端口,HTTP默认端口为80,HTTPS默认端口为44

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

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