5、Web容器配置

1、Tomcat配置

1.1、常规配置

在SpringBoot项目中,可以内置Tomcat、Jetty、Undertow、Netty等容器。当开发者添加了spring-boot-starter-web依赖之后,默认会使用Tomcat作为Web容器。如果需要对Tomcat做进一步配置,可以在application.properties中进行配置,代码如下:

server.port=8088
server.error.path=/error
server.servlet.session.timeout=30m
server.servlet.context-path=/test
server.tomcat.uri-encoding=UTF-8
server.tomcat.max-threads=500
server.tomcat.basedir=/home/sang/tmp

代码解释:

  1. server.port配置了Web容器的端口号;
  2. error.path配置了当前项目出错时跳转去的页面;
  3. session.timerout配置了session过期时间,以分钟为单位,这里如果配置的单位是秒的话,该时间会转换为一个不超过所配置秒数的最大分钟数,例如这里如果配置了119,默认单位是秒,则实际session过期时间为1分钟;
  4. context-path表示项目名称,不配置默认为/,如果配置了,就需要在访问路径中加上配置的路径;
  5. uri-encoding表示配置Tomcat请求编码;
  6. max-threads表示Tomcat最大线程数;
  7. basedir是一个存放omcat运行日志和临时文件的目录,若不配置,则默认使用系统的临时目录。

当然,Web容器相关的配置不止这些,这里只列出了一些常用的配置,完整的配置可以参考官方文档Appendix A. Common application properties一节。

1.2、Https配置

由于Https具有良好的安全性,在开发中得到了越来越广泛的应用,像微信公众号、小程序等开发都要使用Https来完成。对于个人开发者而言,一个Https证书的价格还是有点贵,国内有一些云服务厂商提供免费的Https证书,一个账号可以申请数个。

什么是Https

我们先来看看什么是Htpps,根据wikipedia上的介绍:

超文本传输安全协议(HyperText Transfer Protocol Secure),缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure,是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。

历史上,HTTPS连接经常用于网络上的交易支付和企业信息系统中敏感信息的传输。在2000年代末至2010年代初,HTTPS开始广泛使用,以确保各类型的网页真实,保护账号和保护用户通信、身份和网络浏览的私密性。
另外,还有一种安全超文本传输协议(S-HTTP),也是HTTP安全传输的一种实现,但是HTTPS的广泛应用而成为事实上的HTTP安全传输实现,S-HTTP并没有得到广泛支持。

准备工作

首先我们需要一个HTTPS证书,我们可以从各个云服务厂商处申请一个免费的,不过自己做实验没有必要这么麻烦,我们可以借助jdk中提供的一个数字证书管理工具keytool,在\jdk\bin目录下,通过这个工具可以生成一个数字证书,生成命令如下:

keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore D:\sang.p12 -validity 365

命令解释:

  1. -genkey表示要创建一个新的秘钥;
  2. -alias表示keystore的别名;
  3. -keyalg表示使用的加密算法是RSA,一种非对称加密算法;
  4. -keysize表示秘钥的长度;
  5. -keystore表示生成的秘钥存放位置;
  6. -validity表示秘钥的有效时间,单位为天。

在cmd窗口中直接执行如上命令,在执行的过程中需要输入秘钥口令等信息,根据提示输入即可。命令执行完成后,会在D盘目录下生成一个名为sang.p12的文件。
在这里插入图片描述

引入HTTPS

将上面生成的文件复制到项目的resources目录下,然后在application.properties中做如下配置:

#https配置
#如果放在根目录下,则直接配置server.ssl.key-store=sang.p12
server.ssl.key-store=classpath:sang.p12
server.ssl.key-alias=tomcathttps
server.ssl
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值