Java skill - 服务同时开始https和http端口

Java skill - 服务同时开始https和http端口

添加ssl配置

在配置文件中添加配置

yml 复制代码
server:
  # ssl证书配置
  ssl:
    # 双向证书配置
    # 证书文件路径
    key-store: /opt/ops/cert/xes.p12
    # 证书密码
    key-store-password: 123456
    # 证书类型
    key-store-type: PKCS12
    # 开启ssl
    enabled: true
    # 证书文件路径
    trust-store: /opt/ops/cert/xes.p12
    # 证书密码
    trust-store-password: 123456
    # 证书类型
    trust-store-type: PKCS12
    # 访问必须传入证书
    client-auth: need
  # https端口
  port: 7001

代码开启http端口

java 复制代码
@Configuration
public class TomcatConfig {

    @Bean
    public TomcatServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
        tomcat.addAdditionalTomcatConnectors(createStandardConnector());
        return tomcat;
    }
    /**
     * 配置http
     * @return
     */
    private Connector createStandardConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setPort(7000);
        return connector;
    }
}

讲解

  1. 服务启动后,yml的ssl配置会执行并开启7001的https端口
  2. 然后,新加的配置类会执行并开启7000的http端口

大坑

这种配置方式会先开启https-7001端口,然后才打开http-7000端口,如果需要nacos注册发现的话,nacos发现的是https-7001端口,如果你这个服务被其他服务通过feign调用的话,就会请求错误,因为feign默认的是http请求,但是feign在nacos拿到的7001端口是https端口,所以,这一点大家一定要注意

如果大家想解决这个问题,那就需要先打开http端口,然后打开https端口,分享给大家这篇文章【Java skill - 指定服务打开两个端口的顺序

相关推荐
寻星探路25 分钟前
【JVM 终极通关指南】万字长文从底层到实战全维度深度拆解 Java 虚拟机
java·开发语言·jvm·人工智能·python·算法·ai
lbb 小魔仙26 分钟前
【Java】Java 实战项目:手把手教你写一个电商订单系统
android·java·python
星河耀银海32 分钟前
Java安全开发实战:从代码防护到架构安全
java·安全·架构
青云交32 分钟前
Java 大视界 -- 基于 Java 的大数据可视化在城市水资源管理与节水策略制定中的应用
java·java 大数据·java 大数据可视化·城市水资源管理·spark 数据清洗·echarts 热力图·管网漏损控制
紫陌涵光1 小时前
112. 路径总和
java·前端·算法
workflower1 小时前
多变量时间序列预测
java·hadoop·nosql·需求分析·big data·结对编程
Volunteer Technology2 小时前
DynamicTP动态线程池(四)
java·spring boot·后端·spring
野犬寒鸦2 小时前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
java·开发语言·jvm·数据库·后端·学习
前路不黑暗@2 小时前
Java项目:Java脚手架项目的统一模块的封装(四)
java·开发语言·spring boot·笔记·学习·spring cloud·maven