Springboot默认采用Tomcat作为内嵌容器,通过设置可以轻松实现同时监听Http和https两个端口,http自动转发给https端口。然而,SpringCloud Gateway由于默认使用netty作为内嵌web容器,并且官方手册内,只有说明如何设置Https,却没有说明如何设置同时监听多个端口,并且http自动转发到https端口。
虽然作为普通微服务,这个功能并不是很重要,但是作为网关,http自动转发给https端口,是一个比较实用的功能。在网上寻觅了一波,还是找到了解决方案,但并不是官方的,但是可以实现功能。后面持续关注,官方可能会给出解决方案。
参考:
https://stackoverflow.com/questions/49045670/spring-webflux-redirect-http-to-https/53000573#53000573
https://github.com/spring-projects/spring-boot/issues/12035
1.整体结构图


本文介绍如何在Spring Cloud Gateway中同时监听HTTP和HTTPS端口,并实现HTTP请求自动转发到HTTPS。通过配置两个Netty服务器,分别监听8080和8443端口,8080端口的请求被重定向至8443。测试使用Java 1.8、Spring Boot 2.2.1.RELEASE和Spring Cloud Gateway Hoxton.RC1。
最低0.47元/天 解锁文章
1244





