java如何使用http2.0,tomcat + http2.0配置

[TOC]

## 说明

本次 HTTP2.0 基于 Tomcat 进行测试,系统环境为windows,Linux系统可自行百度解决

## 1. 安装、配置 jdk

### 1.1 在官网中下载安装需要安装的版本

[https://www.oracle.com/technetwork/java/javase/downloads/index.html](https://www.oracle.com/technetwork/java/javase/downloads/index.html)

>[warning] tips: `Tomcat8.5 +` 需要 `java7 +`支持; `Tomcat9.0 +` 需要 `java8 +`支持

### 1.2 配置环境变量

可自行百度解决

安装检测:命令行输入: `java -version`,`enter` 查看版本号

## 2. 安装 OpenSSL、生成伪证书

### 2.1 安装包下载

windows 版本下载地址: [http://slproweb.com/products/Win32OpenSSL.html](http://slproweb.com/products/Win32OpenSSL.html),版本限制 `1.0.2 +`,将文件包解压缩到可以通常软件安装位置

### 2.2 生成证书

在 OpenSSL 安装包内 `shift + 右键` 打开命令行

~~~

// 生成一个RSA私钥

# openssl genrsa -des3 -out server.ori.key 2048

.... // 自行加密,密码会用于下面

// 生成免密码输入key

# openssl rsa -in server.ori.key -out server.key

// 创建证书签名请求CSR文件

# openssl req -new -key server.key -out server.csr

... // 填写一些信息,可随意填写,但请记住填写的内容

// 制作CA证书

# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

// 所有操作完成后会生成四个文件: server.crt、server.csr、server.key、server.ori.key

~~~

## 3. 安装、配置 Tomcat

### 3.1 安装包下载

[https://tomcat.apache.org/](https://tomcat.apache.org/)(请下载 `Tomcat8.5 +` ,8.5 以下不支持 `http2`),将文件包解压缩到可以通常软件安装位置

### 3.2 配置环境变量

可自行百度解决

安装检测:命令行输入:`startup.bat`,`enter` 即可运行 Tomcat,打开浏览器键入url:`http://localhost:8080/`,测试 Tomcat 是否运行成功

### 3.3 关于 Tomcat 命令行显示乱码问题

![命令行乱码](https://img.kancloud.cn/24/3d/243d30a88cfe4ee70a8bbcff3d7ade3f_985x511.png)

1. 打开 Tomcat 安装目录(文件包解压存放位置)

![命令行乱码](https://img.kancloud.cn/e1/52/e152c475ff4c885c0f474941802ffe16_491x364.png)

2. 打开 conf 文件夹,打开 `logging.properties`文件,`ctrl + f` 组合键快速查找 `java.util.logging.ConsoleHandler.encoding = UTF-8` ,更改 `UTF-8` 为 `GBK`,保存后关闭,重启 Tomcat 即可

![命令行正常](https://img.kancloud.cn/80/0a/800ae3f6a489b6283d15a5e91b7405eb_975x503.png)

### 3.4 配置 Tomcat 支持 HTTP2.0

* 打开配置文件夹 `conf` (不同版本可能名称不同,但认准为配置文件夹即可)

![](https://img.kancloud.cn/7a/32/7a321a95d66d057c03abda281c14e63b_495x368.png)

* 将第二步中生成的证书、秘钥等四个文件拷贝到配置文件夹 `conf` 内

* 编辑 `server.xml` : 找到 被注释掉的 `http2` 板块,并将其放开,将证书文件名称替换为放置在配置文件夹内的文件名称

~~~

maxThreads="150" SSLEnabled="true" >

certificateFile="conf/server.crt"

type="RSA" />

~~~

### 3.5 配置完成,测试

关闭之前测试时打开的 `Tomcat` ,命令行方式重新启动,在浏览器中,输入 `https://localhost:8443` ,在输出日志文件夹 `logs` 中 `localhost_access_log.` 即可查看本次 `http` 请求信息。

![](https://img.kancloud.cn/1b/42/1b4222e5ad8399a17bebf89c4a044f77_654x316.png)

>[success] tips: 此时,在本地服务器中 8080 端口依然为 http1.1 协议,只有 8443 端口支持 http2.0 协议;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值