Tomcat同时支持http及https

devtools/2024/9/23 14:33:17/
http://www.w3.org/2000/svg" style="display: none;">

Tomcat同时支持httphttps

httphttps_2">1、Tomcat同时支持httphttps

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="michael.com"><SSLHostConfig hostName="tomcat9.com"><Certificate certificateKeystoreFile="/root/michael.keystore" certificateKeystorePassword="123456" type="RSA" /></SSLHostConfig>
</Connector>

注意:
tomcat8.5之后,在Connector元素中配置相关SSL属性已被废弃,应该使用<SSLHostConfig> and <Certificate>;端口8443可以直接改为https默认的443端口;
certificateKeystoreFile:需要设置自己的keystore文件路径。
certificateKeystorePassword:需要设置自己的keystore文件的密码。

httphttps_17">2、Springboot同时支持httphttps

将生成的 jks 文件放到项目的 resource 目录下,开始配置 application.yml 文件。

server:port: 8888custom:# http 端口httpPort: 9999ssl:key-store: classpath:keystore.jkskey-password: 123456key-store-type: JKStomcat:uri-encoding: utf-8basedir: tmp#servlet:context-path: /
import org.apache.catalina.connector.Connector;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** 配置同时支持 HTTP 与 HTTPS 访问*/
@Configuration
public class HttpsConfig {@Value("${server.custom.httpPort}")private Integer httpPort;@Beanpublic ServletWebServerFactory serverFactory() {TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();tomcat.addAdditionalTomcatConnectors(createStandardConnector());return tomcat;}/*** 配置http访问*/private Connector createStandardConnector() {Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");connector.setPort(httpPort);return connector;}
}

application.yml 中配置的 jks 文件的目录为 classpath ,classpath 指的是 target/classes 目录。所以运行时如果报错“找不到 jks 文件”,就手动将 jks 文件复制到此目录下一份。


http://www.ppmy.cn/devtools/39138.html

相关文章

太速科技-FMC377_双AD9361 射频收发模块

FMC377_双AD9361 射频收发模块 FEATURES&#xff1a; ◆ Coverage from 70M ~ 6GHz RF ◆ Flexible rate 12 bit ADC/DAC ◆ Fully-coherent 4x4 MIMO capability, TDD/FDD ◆ RF ports: 50Ω Matched ◆ support both internal reference and exter…

C++引用详解

引用概念 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空 间&#xff0c;它和它引用的变量共用同一块内存空间。 比如&#xff1a;李逵&#xff0c;在家称为"铁牛"&#xff0c;江湖上人称"黑旋风…

Linux 操作系统线程1

目录 一、线程 1.1线程的基本概念 1.2 线程相关的API函数 1.2.1 线程的创建 1.2.2 线程退出 1.2.3 线程等待函数 1.2.4 获取线程ID 1.2.5 线程取消 1.2.6 线程的清理函数 一、线程 1.1线程的基本概念 线程是属于进程&#xff1b;一个进程可以有多个线程&#xff…

密码学《图解密码技术》 记录学习 第十五章

目录 十五章 15.1本章学习的内容 15.2 密码技术小结 15.2.1 密码学家的工具箱 15.2.2 密码与认证 15.2.3 密码技术的框架化 15.2.4 密码技术与压缩技术 15.3 虚拟货币——比特币 15.3.1 什么是比特币 15.3.2 P2P 网络 15.3.3地址 15.3.4 钱包 15.3.5 区块链 15.3.…

Top K 问题

Top K 问题常见形式: 给10万个单词,找第K大词频的单词 给10玩个数,找第K大的数 方法1: 使用堆 建堆 时间复杂度为 O(n) , 堆排序 为 O(logn) , 那么堆初始化的时间复杂度 是 nlog(n) 使用c 标准库 priority_queue(默认建大堆) 大堆降序 int main() {priority_queue<i…

预编码算法介绍及优缺点

预编码算法介绍 介绍优缺点 介绍 预编码算法是一种用于无线通信系统中的技术&#xff0c;其基本思想是通过矩阵运算将经过调制的符号信息流和信道状态信息进行有机结合&#xff0c;变换成适合当前信道的数据流&#xff0c;再通过天线发送出去。这种技术的主要目的是在发送端对…

数据库(MySQL)基础:多表查询(一)

一、多表关系 概述 项目开发中&#xff0c;在进行数据库表结构设计时&#xff0c;会根据业务需求及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;由于业务之间相互关联&#xff0c;所以各个表结构之间也存在着各种联系&#xff0c;基本上分为三种&#xff1a;…

JavaWeb入门-HTML

一、HTML 1.HTML 网络的骨架 超文本标记语言 ①超文本 图片、音频、视频、普通文本。。。 ②标记语言 语法&#xff1a;通过标签的形式展示 a.双标签 <html>内容</html> b.单标签 <br> 2.HelloWorld ①新建网页文件&#xff08;后…