SpringCloud Gateway网关配置(一)同时支持http和https访问

本文详细介绍如何在SpringBoot 2.1.11.RELEASE和SpringCloud Greenwich.SR4环境下,配置SpringCloud Gateway实现同时支持HTTP(80端口)和HTTPS(443端口)访问的方法。通过自定义HttpServer类和YAML配置文件,实现服务的双模式运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringCloud Gateway网关配置中,路由需要同时满足http(80端口)和https(443端口)方式访问。

SpringBoot版本:2.1.11.RELEASE,SpringCloud版本:Greenwich.SR4

如下配置即可满足:

一、80端口设置:

http:
  port: 80

  配置HttpServer.java

package com.jc.gateway;

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.boot.web.server.WebServer;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.server.reactive.HttpHandler;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

/**
 * @ClassName: HttpServer
 * @Author: jc
 * @Date: 2020/3/9 10:26
 * @Description: 配置http服务,使其即支持http又支持https服务(https通过配置文件配置)
 */

@Configuration
public class HttpServer {

    @Autowired
    private HttpHandler httpHandler;

    private WebServer webServer;

    @Value("${http.port}")
    private Integer httpPort;

    @PostConstruct
    public void start() {
        NettyReactiveWebServerFactory factory = new NettyReactiveWebServerFactory(httpPort);
        WebServer webServer = factory.getWebServer(httpHandler);
        webServer.start();
    }

    @PreDestroy
    public void stop() {
        webServer.stop();
    }

}

二、配置443端口(通过YML文件配置)

#SSL配置
server:
  port: 443
  ssl:
    key-store : classpath:server.jks
    key-store-password : 20200101
    key-password : 20200101
    key-store-type: JKS
    enabled: true

 

至此配置完成。

三、参考资料:

https://www.cnblogs.com/lianggp/p/8136540.html

https://blog.csdn.net/gy132/article/details/103509710

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值