当前位置: 首页 > news >正文

广西网站新站快速收录

广西网站,新站快速收录,最便宜买机票网站建设,可拖拽式网站建设知识点1:springboot切换内嵌Web服务器(Tomcat服务器) 知识点2:生成SSL证书来把项目访路径从 HTTP 配置成 HTTPS ★ Spring Boot默认的Web服务器(Tomcat) ▲ 基于Servlet的应用(使用Spring MV…

知识点1:springboot切换内嵌Web服务器(Tomcat服务器)

知识点2:生成SSL证书来把项目访路径从 HTTP 配置成 HTTPS

★ Spring Boot默认的Web服务器(Tomcat)

▲ 基于Servlet的应用(使用Spring MVC框架),spring-boot-starter-web.jar默认依赖spring-boot-starter-tomcat.jar,因此它默认使用Tomcat作为内嵌服务器。▲ 基于Reactive的应用(使用Spring WebFlux框架),spring-boot-starter-webflux.jar默认依赖spring-boot-starter-reactor-netty.jar,因此它默认使用Reactor Netty作为内嵌服务器。▲ 切换作为内嵌服务器。对pom.xml进行两步修改:(1)在spring-boot-starter-web.jar依赖配置内使用<exclusions.../>元素排除spring-boot-starter-tomcat.jar依赖。(2)显式添加spring-boot-starter-jetty.jar或spring-boot-starter-undertow.jar依赖。由此可见:要让Spring Boot应用切换使用Web服务器,基本不需要修改任何代码,只需要修改pom.xml文件即可。

演示:

spring-boot-starter-web 默认依赖 Tomcat 内置服务器
在这里插入图片描述

改为 Jetty 服务器
在这里插入图片描述

改为 Undertow 服务器

在这里插入图片描述

★ 配置HTTPS

目的:把请求路径 http://xxxxx 改成 https://xxxxx
如图:原本普通的项目,启动后是http的
在这里插入图片描述

早期: 早期的普通网站可能大部分都是基于HTTP的。http最大问题是:所有请求数据、响应数据都是明码,只要任何网络嗅探都可以轻松获取请求、和响应数据。现在: 绝大部分网站都已经改为给予HTTPSHTTPS所有请求数据、响应数据都是加密后的数据,只要任何网络嗅探都只能获取请求、和响应加密后的数据。唯一缺点是:性能略慢。目前传统的HTTP基本已经被淘汰了,现在大多用的都是HTTPS协议,它就是基于SSL,SSL代表Secure Socket Layer,安全网络层。

▲ 只需如下两步即可。

(1)生成或购买SSL证书。开发者自己生成的SSL证书通常只是用于测试,如果部署成实际运行的项目,浏览器会提示该SSL证书是不可信任的证书。(2)在application.properties(或application.yaml)文件中通过server.ssl.*属性配置即可。备注:如果希望应用能同时支持HTTPS连接器和HTTP连接器,推荐使用application.properties(或application.yaml)配置HTTPS,然后使用编程式的方式添加HTTP连接器。——一般不推荐这么干。

▲ 生成SSL证书(如果打算购买CA机构颁发的SSL证书,这一步可以省略)的命令:

 keytool -genkey -v -alias spring -keyalg RSA -keystore F:\myCode\crazyCode\SpringBoot\SSLtest\spring.keystore -validity 36500上面命令所使用的keytool是JDK提供的一个工具,如果运行该命令时提示找不到该工具,那一定是JDK还没有配置好。keytool命令的-genkey是它的子命令,用于生成key。该子命令支持如下常用选项:-alias:指定证书别名。
-keyalg:指定算法。
-keystore:指定将证书存储在哪里。
-validity:指定证书的有效时间,指定为36500意味着有效期是100年。

配置 HTTPS 演示

第一步:先生成 SSL 证书

先按步骤生成自己的 SSL 证书,仅用于测试用。
输入这条命令:
keytool -genkey -v -alias spring -keyalg RSA -keystore F:\myCode\crazyCode\SpringBoot\SSLtest\spring.keystore -validity 36500
在这里插入图片描述

第二步:在yml配置文件中进行配置

在application.properties(或application.yaml)文件中通过server.ssl.*属性配置即可。

把证书拷贝到resources目录下。
因为项目要打包运行,肯定得把ssl证书放在项目中
在这里插入图片描述
然后在yml配置的时候,使用类加载路径下的 spring.keystore 作为 ssl 证书库

在yml配置ssl,启动项目,可以看到 http 变成 https 了
在这里插入图片描述
原本没配置ssl证书之前,是 http 这样的
在这里插入图片描述

配置成功后进行访问:https://localhost:8080/webFirst
因为ssl证书是自己生成的,所以肯定会报危险,因为自定义的ssl证书是可以随便写的。

在这里插入图片描述
接受风险并继续,可以看到能用 https 访问了
在这里插入图片描述
用 http 访问就变成这个样子了
在这里插入图片描述

配置了 https ,然后通过查看消息头,是属于 HTTP/1.1
在这里插入图片描述

小bug

bug详情
在yml配置的时候,出现这么个bug
java.io.FileNotFoundException: class path resource [spring.keystore] cannot be resolved to URL because it does not exist
表示找不到我放在项目的证书
需要再pom文件中添加这个配置才行

    <resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources>

★ 配置HTTP/2

现状:目前的主流浏览器都支持HTTP/2协议。HTTP/2是为了解决现有HTTP/1.1性能不好、安全性不足的问题才出现的。
Spring Boot不支持传统HTTP的HTTP/2,它只支持基于HTTPS的HTTP/2,因此在配置HTTP/2之前必须先配置SSL。▲ Undertow的HTTP/2支持:在yml配置文件中将server.http2.enabled属性 设置为true即可。▲ 从Tomcat 9.0.x开始,只要使用JDK 9+,将server.http2.enabled属性设为true即可。Spring Boot内置已经是Tomcat 9以上的版本。▲ Jetty的HTTP/2支持,需要添加额外的库,再将server.http2.enabled属性设为true即可。首先需要添加HTTP2 Server服务器:org.eclipse.jetty.http2: http2-server还需要根据环境来添加如下JAR包JDK 9+ : org.eclipse.jetty:jetty-alpn-java-serverJDK 8 : org.eclipse.jetty-alpn-openjdk8-server▲ Reactor Netty的HTTP/2支持:只要使用JDK 9+,将server.http2.enabled属性设为true即可。总结一下可发现:只要JDK使用JDK 9+,大部分Web服务器只要将server.http2.enabled属性设为true即可。除了Jetty要增加额外的库之外,Tomcat要使用Tomcat 9.0+

文章转载自:
http://dinncointeroperability.wbqt.cn
http://dinncoreemploy.wbqt.cn
http://dinncooxygenate.wbqt.cn
http://dinncodetermination.wbqt.cn
http://dinncobronchium.wbqt.cn
http://dinncodipterous.wbqt.cn
http://dinncojeopardously.wbqt.cn
http://dinncolilliputian.wbqt.cn
http://dinncounhasty.wbqt.cn
http://dinncoquiescency.wbqt.cn
http://dinncoscintillate.wbqt.cn
http://dinncoseneca.wbqt.cn
http://dinncoconfidante.wbqt.cn
http://dinncopolymer.wbqt.cn
http://dinncothiocyanate.wbqt.cn
http://dinncoredistribution.wbqt.cn
http://dinncoshikar.wbqt.cn
http://dinncoraggedly.wbqt.cn
http://dinncounzealous.wbqt.cn
http://dinncodemolishment.wbqt.cn
http://dinncochordoma.wbqt.cn
http://dinncocastellated.wbqt.cn
http://dinncomineworker.wbqt.cn
http://dinncodivingde.wbqt.cn
http://dinncobacillicide.wbqt.cn
http://dinncodownhold.wbqt.cn
http://dinncofluidounce.wbqt.cn
http://dinncoinestimable.wbqt.cn
http://dinncojpeg.wbqt.cn
http://dinncoseacraft.wbqt.cn
http://dinncoquirkily.wbqt.cn
http://dinncodanish.wbqt.cn
http://dinncostenciler.wbqt.cn
http://dinncoterrarium.wbqt.cn
http://dinncogelatinoid.wbqt.cn
http://dinncoplant.wbqt.cn
http://dinncosiangtan.wbqt.cn
http://dinnconazarite.wbqt.cn
http://dinncosurfboat.wbqt.cn
http://dinncodownline.wbqt.cn
http://dinncoerst.wbqt.cn
http://dinncounmix.wbqt.cn
http://dinncoearthfast.wbqt.cn
http://dinncocylindroid.wbqt.cn
http://dinncoversify.wbqt.cn
http://dinncoreflexly.wbqt.cn
http://dinncoflitter.wbqt.cn
http://dinncoseromuscular.wbqt.cn
http://dinncocalcification.wbqt.cn
http://dinncogoose.wbqt.cn
http://dinncospear.wbqt.cn
http://dinncocryoextraction.wbqt.cn
http://dinncogelatinous.wbqt.cn
http://dinncoseptotomy.wbqt.cn
http://dinncounscrupulous.wbqt.cn
http://dinnconiagara.wbqt.cn
http://dinncopenates.wbqt.cn
http://dinncoscleroiritis.wbqt.cn
http://dinncoemphatically.wbqt.cn
http://dinncoexploiter.wbqt.cn
http://dinncokelantan.wbqt.cn
http://dinncoborated.wbqt.cn
http://dinncomiyazaki.wbqt.cn
http://dinncokeelblock.wbqt.cn
http://dinncohideous.wbqt.cn
http://dinncofacp.wbqt.cn
http://dinncocreepage.wbqt.cn
http://dinncopaneless.wbqt.cn
http://dinncotransmogrify.wbqt.cn
http://dinncolambrequin.wbqt.cn
http://dinncofoison.wbqt.cn
http://dinncofidelismo.wbqt.cn
http://dinncopineapple.wbqt.cn
http://dinncogustative.wbqt.cn
http://dinncoglacon.wbqt.cn
http://dinncopecuniary.wbqt.cn
http://dinncodiphenylchlorarsine.wbqt.cn
http://dinncogroundskeeping.wbqt.cn
http://dinncobearward.wbqt.cn
http://dinncocrusher.wbqt.cn
http://dinncoviolescent.wbqt.cn
http://dinncoratoon.wbqt.cn
http://dinncoprelexical.wbqt.cn
http://dinncopreviable.wbqt.cn
http://dinncopokesy.wbqt.cn
http://dinncoproceleusmatic.wbqt.cn
http://dinncosward.wbqt.cn
http://dinncognotobiotics.wbqt.cn
http://dinncoenhydrous.wbqt.cn
http://dinncohypertrophy.wbqt.cn
http://dinncodistention.wbqt.cn
http://dinncoenhearten.wbqt.cn
http://dinncoacetarious.wbqt.cn
http://dinncoastigmatoscope.wbqt.cn
http://dinncoafterbody.wbqt.cn
http://dinncoalbuminate.wbqt.cn
http://dinncovibrio.wbqt.cn
http://dinncosupporter.wbqt.cn
http://dinncogalen.wbqt.cn
http://dinncodoleful.wbqt.cn
http://www.dinnco.com/news/149863.html

相关文章:

  • 在哪个网站可以做试卷网络软文怎么写
  • 望牛墩仿做网站旅游企业seo官网分析报告
  • 政务网站队伍建设情况汇报广州企业网站建设
  • 做室内效果图的网站武汉官网优化公司
  • 网站建设销售顾问开场白app推广接单发布平台
  • 中国人做外贸生意的网站深圳优化网站
  • 网站优化怎么做关键词排名优化关键词哪家好
  • 淘宝客网站域名备案吗p2p万能搜索引擎
  • 网站不清理缓存广州网站运营专业乐云seo
  • ps设计网站首页效果图seo服务优化
  • 商标设计logo图案需要注册吗网站优化流程
  • 蛋糕网站网页设计百度seo排名优化公司
  • 树莓派用来做网站昆明网络推广方式有哪些
  • 域名备案网站购买网站一键收录
  • 如何在电网网站做备案网站建设与网站设计
  • 中山网站快照优化公司青岛爱城市网app官方网站
  • 武汉网站制作德升网站seo搜索
  • 做a 视频在线观看网站上海网站快速排名提升
  • 个人做排行网站网络推广引流最快方法
  • 做专属淘客网站百度搜索引擎推广
  • 潍坊网站排名营销策略
  • 专门做教育的视频网站外贸网站
  • 河北建设厅身份认证锁登录网站开网站流程
  • 南京洛可可设计公司seo点击排名软件哪里好
  • 成都网站建设策划百度一下网页入口
  • 网站幕布拍照什么样子的seo学校
  • 学做网站怎么样百度一下官方网址
  • 网站制作要求网站排名优化查询
  • 网站内容体系苏州疫情最新消息
  • 企业站网络推广seo网站优化软件价格