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

个人备案可以做哪些网站/建立网站的流程

个人备案可以做哪些网站,建立网站的流程,网站建设要学哪些东西,惠州网站建设培训1 简介 Spring WebFlux是一个新兴的技术,Spring团队把宝都压在响应式Reactive上了,于是推出了全新的Web实现。本文不讨论响应式编程,而是通过实例讲解Springboot WebFlux如何把http重定向到https。 作为餐前小吃,建议大家先吃以下…

1 简介

Spring WebFlux是一个新兴的技术,Spring团队把宝都压在响应式Reactive上了,于是推出了全新的Web实现。本文不讨论响应式编程,而是通过实例讲解Springboot WebFlux如何把http重定向到https

c042deb40f537c104a3210fc05ee9854.png

作为餐前小吃,建议大家先吃以下https小菜,以帮助理解:

(1)Springboot整合https原来这么简单

(2)HTTPS之密钥知识与密钥工具Keytool和Keystore-Explorer

(3)Springboot以Tomcat为容器实现http重定向到https的两种方式

(4)Springboot以Jetty为容器实现http重定向到https

(5)nginx开启ssl并把http重定向到https的两种方式

2 搭建WebFlux项目

引入WebFlux的依赖如下:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

实现Controller,与之前略有不同,返回值为Mono<T>

@RestController
public class HelloController {@GetMapping("/hello")public Mono<String> hello() {return Mono.just("Welcome to www.pkslow.com");}
}

配置文件与普通的Springboot项目没什么差别,配置了两个端口,并配置SSL相关参数:

server.port=443
http.port=80server.ssl.enabled=true
server.ssl.key-store-type=jks
server.ssl.key-store=classpath:localhost.jks
server.ssl.key-store-password=changeit
server.ssl.key-alias=localhost

3 重定向实现

主要做了两件事:

(1)在有https的情况下,启动另一个http服务,主要通过NettyReactiveWebServerFactory来生成一个Web服务。

(2)把http重定向到https,这里做了路径判断,加了一个简单的过滤函数。通过提供一个新的HttpHandler来实现重定向。

package com.pkslow.ssl.config;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.netty.NettyReactiveWebServerFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
import org.springframework.http.server.reactive.HttpHandler;
import reactor.core.publisher.Mono;
import javax.annotation.PostConstruct;
import java.net.URI;
import java.net.URISyntaxException;@Configuration
public class HttpToHttpsConfig {@Value("${server.port}")private int httpsPort;@Value("${http.port}")private int httpPort;@Autowiredprivate HttpHandler httpHandler;@PostConstructpublic void startRedirectServer() {NettyReactiveWebServerFactory factory = new NettyReactiveWebServerFactory(httpPort);factory.getWebServer((request, response) -> {URI uri = request.getURI();URI httpsUri;try {if (isNeedRedirect(uri.getPath())) {httpsUri = new URI("https",uri.getUserInfo(),uri.getHost(),httpsPort,uri.getPath(),uri.getQuery(),uri.getFragment());response.setStatusCode(HttpStatus.MOVED_PERMANENTLY);response.getHeaders().setLocation(httpsUri);return response.setComplete();} else {return httpHandler.handle(request, response);}} catch (URISyntaxException e) {return Mono.error(e);}}).start();}private boolean isNeedRedirect(String path) {return !path.startsWith("/actuator");}
}

4 总结

本文详细代码可在南瓜慢说公众号回复<SpringbootSSLRedirectWebFlux>获取。


欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章!

欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

70b818917848414d743282372a9c85dc.png

多读书,多分享;多写作,多整理。

http://www.lbrq.cn/news/1464679.html

相关文章:

  • 张氏万家网站建设/我想做电商怎么加入
  • asp故障解答网站模板/seo优化工作内容
  • 给女朋友做的网站/semester是什么意思
  • 苏州加基森网站建设/海南百度推广代理商
  • 欧洲vodafonewifi巨大app3di/seo 论坛
  • 青岛经济师考试/什么公司适合做seo优化
  • 南京电商网站开发/成都高端品牌网站建设
  • 跨境电商开店详细步骤/沈阳百度seo排名优化软件
  • 资深的金融行业网站开发/安装百度到桌面
  • 长春如何建立一个平台网站/企业网站建设案例
  • 银川网站制作公司/网络营销的12种手段
  • 常州网站制作czyzj/最新军事报道
  • 设计品牌网站公司/自媒体营销模式有哪些
  • 哪些网站做的不好/新闻稿代写平台
  • 设计公司网站设计报价明细表/企业推广方案
  • 佛山 做网站/一个新公众号怎么吸粉
  • 最近做国际网站怎么样/app拉新怎么做
  • 免费域名主机/seo和sem的关系
  • 青海公司网站建设/360营销平台
  • 企业做网站费用/百度推广管理平台登录
  • 贵州网络公司网站建设/百度空间登录入口
  • 企业花钱做的网站出现违禁词/长沙网站seo排名
  • 天津做网站联系方式/百度手机助手应用商店下载
  • 免费最好网站建设/b站推广网站入口2023是什么
  • 四川网站建设服务/百度电脑版官网下载
  • 网站定制与开发/百度手机助手下载
  • a站app下载/steam交易链接在哪里看
  • 中国铁道建设协会网站/新闻今天最新消息
  • 深圳做分销网站的公司/广东东莞最新疫情
  • 石家庄整站优化/西安关键词排名首页
  • 【stm32】按键控制LED以及光敏传感器控制蜂鸣器
  • 基于 LightGBM 的二手车价格预测
  • 初始C语言---第四讲(数组)
  • 【05】OpenCV C#——OpenCvSharp 图像基本操作---转灰度图、边缘提取、兴趣区域ROI,图像叠加
  • Qt 槽函数被执行多次,并且使用Qt::UniqueConnection无效【已解决】
  • 【Shell脚本自动化编写——报警邮件,检查磁盘,web服务检测】