springboot springmvc 支持 https
Spring Mvc和Spring Boot配置Tomcat支持Https
背景
最近在项目开发中需要让自己的后端Restful接口支持https,在参考了很多前辈们的博客后总结了一些。
SpringBoot配置支持https
spring boot因为是使用内置的tomcat,所以只需要一些简单的配置即可。
1.首先打开命令行工具,比如cmd,输入以下命令 keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
2.然后在你的根目录下面会看到一个.p12的文件,如下图所示:
3.将它移到你的spring boot项目中的resources目录下
4.最后在application.properties中添加以下配置:
server.port=8888
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=123456(此处密码为第一步中创建.p12文件时你输入的口令)
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=tomcat
5.最后启动你的spring boot项目即可用https的方式访问你的接口了。
SpringMvc配置支持https
由于spring mvc的项目需要依赖我们系统安装的tomcat,所以需要对我们系统的tomcat进行相关配置
1.首先同样需要生成密钥文件等
打开命令行输入 keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "C:\Program Files\Apache\apache-tomcat-7.0.77\bin\tomcat.keystore"
输入的相关配置和之前spring boot生成的那些问题是一样的
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: hwangfantasy
您的组织单位名称是什么?
[Unknown]: hwangfantasy
您的组织名称是什么?
[Unknown]: hwangfantasy
您所在的城市或区域名称是什么?
[Unknown]: hangzhou
您所在的省/市/自治区名称是什么?
[Unknown]: zhejiang
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=hwangfantasy, OU=hwangfantasy, O=hwangfantasy, L=hangzhou, ST=zhejiang, C=cn是否正确?
[否]: y
输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):
然后在你的tomcat的bin目录下会出现一个 tomcat.keystore文件。
2.修改server.xml
找到tomcat/conf目录下面的server.xml。找到其中含有 Define a SSL HTTP/1.1 Connector on port 8443
节点的Connector,取消掉原本的注释,并修改成以下内容:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:/Program Files/Apache/apache-tomcat-7.0.77/bin/tomcat.keystore"
keystorePass="123456" />
其实就是增加了keystoreFile
和keystorePass
两个属性,其中keystoreFile最好使用绝对路径,因为如果你和我一样使用intellj idea作为开发工具的话,使用相对路径,则idea启动spring mvc项目是无法成功加载keystore的,因为idea读取的配置是从idea的临时目录下 C:\Users\hwangfantasy\.IntelliJIdea2017.1\system\tomcat
读取的,而keystore不会在临时目录下,所以需要改成绝对路径才能保证通过idea去启动tomcat时能成功加载https的配置。
3.最后启动tomcat即可使用https接口
最后无论是将你的web项目copy到tomcat下的webapps目录下直接启动还是通过idea等工具启动项目和tomcat都可以成功使用https接口了。
springboot springmvc 支持 https的更多相关文章
- Spring Mvc和Spring Boot配置Tomcat支持Https
SpringBoot配置支持https spring boot因为是使用内置的tomcat,所以只需要一些简单的配置即可. 1.首先打开命令行工具,比如cmd,输入以下命令 keytool -genk ...
- Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...
- SpringBoot无废话入门03:SpringMVC支持
1.默认配置 Springboot对于路径的默认位置为: spring.resources.static-locations=classpath:/META-INF/resources/,classp ...
- SpringBoot添加支持CORS跨域访问
原文:https://www.jianshu.com/p/c6ea21b64f6e CORS(Cross-Origin Resource Sharing)"跨域资源共享",是一个W ...
- springboot+springmvc+mybatis项目整合
介绍: 上篇给大家介绍了ssm多模块项目的搭建,在搭建过程中spring整合springmvc和mybatis时会有很多的东西需要我们进行配置,这样不仅浪费了时间,也比较容易出错,由于这样问题的产生, ...
- SpringBoot学习(3)-SpringBoot添加支持CORS跨域访问
SpringBoot学习(3)-SpringBoot添加支持CORS跨域访问 https://blog.csdn.net/yft_android/article/details/80307672
- SpringMvc支持跨域访问,Spring跨域访问,SpringMvc @CrossOrigin 跨域[转]
SpringMvc支持跨域访问,Spring跨域访问,SpringMvc @CrossOrigin 跨域 原文地址:https://www.cnblogs.com/fanshuyao/p/716847 ...
- SpringBoot+SpringMVC+MyBatis快速整合搭建
作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...
- 真——Springcloud支持Https
很久不写了,因为一直没有一个项目的需求推动,担心写的东西可能不是太实际.其间学习的事倒是做了不少,设计模式.领域开发.Antlr.kubernetes等等,其实大部分都记在纸质笔记上了.. 基于对新技 ...
随机推荐
- Atitit.跨语言 文件夹与文件的io操作集合 草案
Atitit.跨语言 文件夹与文件的io操作集合 草案 1. Jdk原生的太难用了..1 2. PS: apache commons-io包,FileUtils有相关的方法,IOUtils一般是拷 ...
- poj2184 Cow Exhibition(p-01背包的灵活运用)
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:id=2184">http://poj.org/problem?id=2184 Descrip ...
- TCP四次挥手断开连接详解
TCP四次挥手. 数据传输结束后,通信的双方都可释放连接.现在A和B都处于ESTABLISHED状态.A的应用程序先向TCP发出连接释放报文段,主动关闭TCP连接.A把连接释放报文段的首部FIN置为1 ...
- 从‘void*’到‘int’的转换损失精度
在CentOS6.2 64位下编译一下代码,不通过,提示 ./11_2.cpp: In function ‘int main(int, char**)’:./11_2.cpp:28: 错误:从‘voi ...
- python3输出指定log信息
问题背景: win10 python xxx.py > c:test.txt 上面这句只能把信息输出到test.txt,但是控制台看不到信息 ########################## ...
- quantz入门和使用流程(转载)
1.下载地址:http://quartz-scheduler.org/downloads/catalog http://quartz-scheduler.org/downloads/destinati ...
- rem的使用方法
首先写入一下代码 <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" cont ...
- jQuery CSS 操作函数
CSS 属性 描述 css() 设置或返回匹配元素的样式属性. height() 设置或返回匹配元素的高度. offset() 返回第一个匹配元素相对于文档的位置. offsetParent() 返回 ...
- python学习---简介
http://www.cnblogs.com/wuguanglei/p/3866583.html http://www.cnblogs.com/wuguanglei/p/3866583.html ok ...
- js array filter pop push shift unshift方法
JavaScript Array filter() 方法 JavaScript Array 对象 实例 返回数组 ages 中所有元素都大于 18 的元素: var ages = [32, 33, ...