- 浏览: 131085 次
- 性别:
- 来自: 吉林
文章分类
- 全部博客 (118)
- oracle数据库 (5)
- Web前端 (3)
- java后台 (6)
- Java虚拟机 (3)
- 大数据 (1)
- Java (27)
- 微信公众号 (1)
- ssh框架 (2)
- Java,eclipse (1)
- Hibernate (4)
- SSH (4)
- asp.net (1)
- XML,JSON (1)
- junit (1)
- SpringMVC (2)
- XML (2)
- JSON (2)
- HTTP AJAX POST请求 (2)
- request payload (1)
- form data (1)
- Content Type (1)
- Spring RESTful (1)
- RESTful (2)
- Git (2)
- 企业软件版本管理工具 (1)
- HIVE,HADOOP (1)
- Hadoop (1)
- Dobbo (1)
- 缓存(cache) (1)
- 服务器端,客户端 (1)
- Cookie (1)
- Session (1)
- MySQL索引 (1)
- 乐观锁,悲观锁 (1)
- 电子商务 (1)
- 面试部分 (1)
- 分布式事务处理 (1)
- java详解 (1)
- commons (1)
- NoClassDefFoundErrorLogFactory (1)
- Spring (1)
- tomcat (3)
- Ubuntu (1)
- 虚拟机 (1)
- Intel Virtual Technology (1)
- SVN (4)
- Taglib (5)
- java unsigned类型 (1)
- fmt (1)
- HMAC (1)
- linux (13)
- mysql (2)
- FTP (4)
- Maven (5)
- spring boot (6)
- myeclipse (1)
- web (1)
- Https (2)
- ssl (3)
- crt (1)
- cer (1)
- byte (1)
- 字符占字节 (1)
- 限制IP远程登录 (1)
- 禁止某些 IP 访问 (1)
- iptables (1)
- linux私钥登陆 (1)
- windows (1)
- openSSH (2)
- 大牛博客地址 (1)
- Maven常见异常 (1)
- shell命令 (1)
- WebWork2,Spring MVC (1)
- LinuxSS (0)
- Bitvise SSH Client (1)
- -bash-4.1$ (1)
- Centos7 (1)
- MQTT (5)
- Mosquitto (3)
- Mosquittos (0)
- HAProxy (1)
- 集群 (0)
- 负载均衡 (1)
- moqutte (1)
- 多线程 (1)
- Queue (1)
- BlockingQueue (1)
- ConcurrentLinkedQueue (1)
- erlang (1)
- jersey (1)
最新评论
一.注意事项
域名和服务器IP是一对一绑定的,所以对于一般域名只能对应一个证书,但如果你想把已经购买的并且已经安装在服务器的证书,在其它服务器上再次使用安装证书,前提是购买的域名证书是以通配符(*)开头的域名(例如:*.yyy.12345.com),则可以再多个服务器上安装证书,其它可以安装的服务器域名(可以是test.yyy.12345.com,demo.yyy.12345.com等)。
二.安装证书
1.首先需要安装OpenSSL的开源软件包,OpenSSL可以下cmd命令上下,进行证书相关的操作!貌似很强大!
2.在服务上用openssl生成公钥和私钥
openssl req -new -key myPrivateKey.key -out server.csr
myPrivateKey.key自己保存,server.csr提交给代理商(证书颁发机构)进行签名,证书颁发机构签名完成后会给出 yourDomain.crt文件(需要注意的是证书颁发机构会返回不止一个crt文件,刚开始研究这SSL的时候总以为都是有用的,但后来发现,其实里面的内容都是一样的!具体我也没完全搞明白)
3.或是你已经有购买的证书,已经有 crt证书和.key文件 或其它格式证书(已经有要能得到crt文件或其它格式的证书文件即可,理论上可以去证书颁发机构官网再去重新下载一份)。
4.之前我不太理解为什么会有这么多格式(crt,cer,pem,p12等),其实貌似他们之间是可以互相转换的.你的项目需要用到哪些格式的证书文件,你就进行转换就可以了(具体怎么转,我也是临时去网上查)!
由于我们是在Java环境中,常用的证书形式有p12格式的,jks格式的,所以需要将crt证书进行格式转换,以转换为p12格式为例:
openssl pkcs12 -export -clcerts -in yourDomain.crt -inkey myPrivateKey.key -out server.p12
输入完命令后回车会出现提示输入一个密码,密码非常重要,一定要记住,后面会用到!
这样就生成了spring boot上可以用的私钥格式文件 server.p12
在这个转换的过程中要求设置一个密码,请记住这个密码
然后是给spring boot配置 server.p12证书
首先进入cmd用命令查询一下别名
keytool -list -keystore server.p12
运行该命令会提示你输入密码,就是上面转换格式时提示设置的密码,输入密码后会显示:
秘钥库类型: JKS
秘钥库提供方:SUN
您的密钥库包含 1 个条目
1, 2017-1-7, PrivateKeyEntry
证书指纹 (SHA1) : 《这里是密文》
注意其中这个1这是我们运行这个命令的目的,这个1会在spring配置文件中也会用到
把证书server.p12文件复制到spring boot项目中的 src/main/resources/ 目录下,和application.properties平级,主要得放到classpath目录下,方便查找.
在application.properties中添加如下内容(如果是多数据源,就在相应的数据源下添加)
server.port=8443(要使用的端口号,只要不要和服务器上的其它端口号重复就可以)
server.ssl.key-store:classpath:server.p12(证书存放路径,就是src/main/resources/ 目录下,既classpath目录下,所以前面加上classpath:)
server.ssl.key-store-password: 密码(就是上面之前设置的密码)
server.ssl.keyStoreType: PKCS12(证书格式,PKCS12格式就是指 p12文件,)
server.ssl.keyAlias: 1(这个是别名,是之前查用领查询出的别名1,貌似大部分情况私有秘钥privateKey都是1,)
三.总结
直接在springboot里面配置是为了应对简单的服务,真正的系统会在nginx上配置证书。
域名和服务器IP是一对一绑定的,所以对于一般域名只能对应一个证书,但如果你想把已经购买的并且已经安装在服务器的证书,在其它服务器上再次使用安装证书,前提是购买的域名证书是以通配符(*)开头的域名(例如:*.yyy.12345.com),则可以再多个服务器上安装证书,其它可以安装的服务器域名(可以是test.yyy.12345.com,demo.yyy.12345.com等)。
二.安装证书
1.首先需要安装OpenSSL的开源软件包,OpenSSL可以下cmd命令上下,进行证书相关的操作!貌似很强大!
2.在服务上用openssl生成公钥和私钥
openssl req -new -key myPrivateKey.key -out server.csr
myPrivateKey.key自己保存,server.csr提交给代理商(证书颁发机构)进行签名,证书颁发机构签名完成后会给出 yourDomain.crt文件(需要注意的是证书颁发机构会返回不止一个crt文件,刚开始研究这SSL的时候总以为都是有用的,但后来发现,其实里面的内容都是一样的!具体我也没完全搞明白)
3.或是你已经有购买的证书,已经有 crt证书和.key文件 或其它格式证书(已经有要能得到crt文件或其它格式的证书文件即可,理论上可以去证书颁发机构官网再去重新下载一份)。
4.之前我不太理解为什么会有这么多格式(crt,cer,pem,p12等),其实貌似他们之间是可以互相转换的.你的项目需要用到哪些格式的证书文件,你就进行转换就可以了(具体怎么转,我也是临时去网上查)!
由于我们是在Java环境中,常用的证书形式有p12格式的,jks格式的,所以需要将crt证书进行格式转换,以转换为p12格式为例:
openssl pkcs12 -export -clcerts -in yourDomain.crt -inkey myPrivateKey.key -out server.p12
输入完命令后回车会出现提示输入一个密码,密码非常重要,一定要记住,后面会用到!
这样就生成了spring boot上可以用的私钥格式文件 server.p12
在这个转换的过程中要求设置一个密码,请记住这个密码
然后是给spring boot配置 server.p12证书
首先进入cmd用命令查询一下别名
keytool -list -keystore server.p12
运行该命令会提示你输入密码,就是上面转换格式时提示设置的密码,输入密码后会显示:
秘钥库类型: JKS
秘钥库提供方:SUN
您的密钥库包含 1 个条目
1, 2017-1-7, PrivateKeyEntry
证书指纹 (SHA1) : 《这里是密文》
注意其中这个1这是我们运行这个命令的目的,这个1会在spring配置文件中也会用到
把证书server.p12文件复制到spring boot项目中的 src/main/resources/ 目录下,和application.properties平级,主要得放到classpath目录下,方便查找.
在application.properties中添加如下内容(如果是多数据源,就在相应的数据源下添加)
server.port=8443(要使用的端口号,只要不要和服务器上的其它端口号重复就可以)
server.ssl.key-store:classpath:server.p12(证书存放路径,就是src/main/resources/ 目录下,既classpath目录下,所以前面加上classpath:)
server.ssl.key-store-password: 密码(就是上面之前设置的密码)
server.ssl.keyStoreType: PKCS12(证书格式,PKCS12格式就是指 p12文件,)
server.ssl.keyAlias: 1(这个是别名,是之前查用领查询出的别名1,貌似大部分情况私有秘钥privateKey都是1,)
三.总结
直接在springboot里面配置是为了应对简单的服务,真正的系统会在nginx上配置证书。
发表评论
-
spring boot 属性
2017-07-26 11:01 467http://www.cnblogs.com/softidea ... -
spring boot相关问题
2017-07-07 10:25 501http://blog.csdn.net/column/det ... -
godaddy的SSL证书tomcat安装
2017-04-06 11:57 0在 Tomcat 4.x/5.x/6.x/7.x 中生成和安装 ... -
电子证书 DER vs. CRT vs. CER vs. PEM
2017-04-05 16:05 1500一直对电子证书的文件 ... -
Spring Boot 配置Https协议
2017-03-31 17:16 1553是用SpringBoot开发项目要求用HTTPS协议进行访问, ... -
将spring boot应用注册为Unix/Linux系统服务
2017-03-20 15:57 602运行Spring Boot应用可以用java -jar的方式, ... -
Linux下 启动sh文件 运行spring boot
2017-03-20 15:01 6652仅为 自己工作中的笔记 1.chmod 空格"+ ...
相关推荐
在本文中,我们将详细介绍 Spring Boot 配置 SSL 实现 HTTPS 的方法。HTTPS(Hypertext Transfer Protocol Secure)是一种安全通信协议,旨在提供安全的数据传输。它是基于传输层安全性协议(Transport Layer ...
Spring Boot实现Undertow服务器同时支持HTTP2、HTTPS的方法 在本文中,我们将讨论如何让Spring Boot应用程序同时支持...本文讨论了如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议,并提供了详细的实现步骤。
在本篇文章中,我们将详细介绍如何在 Spring Boot 项目中配置 SSL,以实现安全的数据传输。SSL 协议位于 TCP/IP 协议与各种应用协议之间,为数据通信提供安全支持。 首先,SSL 协议分为两层:SSL 记录协议和 SSL ...
本项目 "spring-boot-sample-tomcat-ssl" 专门针对Spring Boot应用程序中的SSL配置问题提供了一个示例。 在Spring Boot应用中,启用SSL通常涉及到以下几个关键步骤: 1. **生成SSL密钥对**:首先,你需要一个SSL...
本教程将详细阐述如何在Spring Boot项目中实现这一功能,从数据源配置、实体管理到Mapper和Controller的整合。 一、配置多数据源 1. 引入依赖 首先,我们需要在`pom.xml`或`build.gradle`文件中添加相应的Spring ...
在Spring Boot中,如果你的应用需要SSH访问,可以使用Spring Cloud Config Server或JGit等工具实现配置管理。 总结起来,将Spring Boot应用从HTTP切换到HTTPS,主要涉及证书的生成、配置Spring Boot应用、处理...
本篇知识点将基于提供的文件内容,详细解析Spring Boot的配置参数。 **核心配置属性(CORE PROPERTIES)** - `spring.config.name`:应用程序配置文件的名称,默认值为'application'。 - `spring.config.location`...
- **Spring Boot 1.0**:在Spring Boot 1.0中,可以通过配置`server.ssl.*`属性来启用HTTPS。例如,在`application.properties`或`application.yml`中添加以下内容: ```properties server.port=8443 server.ssl...
本篇将深入探讨如何在Spring Boot项目中配置并验证SSL证书,以实现HTTPS通信。 首先,让我们了解SSL(Secure Socket Layer)和它的升级版本TLS(Transport Layer Security)。SSL/TLS是用于在互联网上进行加密通信...
这个过程中,Spring Boot 提供的自动配置功能大大简化了集成工作,而 MyBatis 则让我们能够灵活地编写 SQL 查询,实现数据的增删改查。通过这种方式,我们可以快速构建出具有持久层功能的 Java Web 应用程序。
Spring Boot通过内嵌Servlet容器(如Tomcat或Jetty)并自动配置Spring框架,使得开发者可以快速地开始项目开发,无需繁琐的配置工作。 接下来,`Maven`是一个项目管理和综合工具,它管理项目的构建、报告和文档,...
下面将详细介绍如何在Spring Boot中配置MyBatis以实现XML资源文件的热加载。 首先,我们需要在Spring Boot项目的`pom.xml`或`build.gradle`文件中添加MyBatis和其Spring Boot starter的依赖。如果是Maven项目,添加...
3. **Spring Boot配置HTTPS** - 首先需要生成SSL证书(.keystore文件),可以使用Java的keytool工具或者Let's Encrypt等免费证书。 - 在`application.properties`中配置SSL,包括`server.ssl.key-store`、`server....
通过阅读和理解Spring Boot的源码,我们可以更好地掌握如何在Spring Boot应用中启用和配置HTTPS,同时也能了解Spring Boot如何与Tomcat协作实现安全的网络通信。这对于我们开发安全、高效的Web应用具有重要意义。
本文将详细介绍如何在Spring Boot应用中配置并启用HTTPS,以增强应用程序的安全性。 首先,我们需要了解HTTPS的基本原理。HTTPS是HTTP协议与SSL/TLS协议的结合,其中SSL/TLS负责在客户端和服务器之间建立安全连接。...
- 如果Redis服务器配置了SSL,你需要开启`spring.redis.ssl=true`并提供相关的SSL证书信息。 6. **Sentinel或Cluster模式**: - 如果你的Redis部署是Sentinel或Cluster模式,需要额外的配置来指示Spring Boot如何...
本文将通过示例代码详细介绍 Spring Boot 配置 HTTPS 的过程,并对代码进行详细解释。 一、配置文件 在 Spring Boot 中,配置文件是指 application.properties 或 application.yml 文件,这两个文件用于存储应用...
在Spring Boot应用中,使用`spring-data-jpa`来配置MySQL多数据源是一项常见的需求,尤其是在构建大型分布式系统时,为了实现数据隔离、负载均衡或读写分离等目的。本教程将详细介绍如何在Spring Boot项目中配置多个...
本文将详细介绍 Spring Boot 中的一些关键参数配置,帮助开发者更好地理解和使用这些配置项。 #### 二、基本配置 **1. 配置文件** - **`application.properties` 和 `application.yml`** Spring Boot 支持两种...
在本文中,我们将深入探讨如何将Spring Boot与Mybatis通用Mapper整合,并利用它们来连接MySQL数据库,实现数据的增删改查操作。Spring Boot以其简洁的配置和强大的自动化配置功能,已经成为开发Java应用的首选框架之...