Tomcat9配置HTTP2的流程

赞赏 2017-06-14

HTTP 2.0即超文本传输协议 2.0,是下一代HTTP协议。是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。是自1999年http1.1发布后的首个更新。


系统环境:

CentOS release 6.5 (Final)  x64

JDK 1.8.0_92

apache-tomcat-9.0.0.M6.tar.gz

apr-1.5.2.tar.gz

apr-util-1.5.4.tar.gz

openssl-1.0.2h.tar.gz


本人在安装的过程中,碰到了很多坑。尤其是需要注意的是,编译安装tomcat-native的时候,需要指定openssl,而编译安装openssl的时候,需要指定shared.


操作步骤如下

一:安装apr

tar -xvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make
make install


二:安装apr-util

tar -xvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install


三:安装openssl

tar -xvf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h
./config shared --prefix=/usr/local/openssl-1.0.2h
make depend
make
make install

注意这里必须指定shared


四:安装

tar -xvf apache-tomcat-9.0.0.M6.tar.gz
cd apache-tomcat-9.0.0.M6/bin
tar -xvf tomcat-native.tar.gz
cd tomcat-native-1.2.7-src/native
./configure --prefix=/usr/local/tomcat-native --with-apr=/usr/local/apr --with-Java-home=/usr/local/jdk1.8.0_92 --with-ssl=/usr/local/openssl-1.0.2h
make
make install

注意这里的--with-ssl 必须指定


五:配置ld

vim /etc/profile
export LD_LIBRARY_PATH=/usr/local/tomcat-native/lib:$LD_LIBRARY_PATH
source /etc/profile


六:生成证书

cd apache-tomcat-9.0.0.M6
mkdir ssl
cd ssl
openssl genrsa -out server.key 2048  
openssl rsa -in server.key -out server.key  
openssl req -new -x509 -key server.key -out ca.crt -days 3650


七:配置tomcat

cd apache-tomcat-9.0.0.M6/conf
vim server.xml

找到如下内容



把这一段内容,取消注释

并改成如下内容

<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150" SSLEnabled="true" >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig honorCipherOrder="false" >
            <Certificate certificateKeyFile="ssl/server.key"
                        certificateFile="ssl/ca.crt"
                        type="RSA" />        </SSLHostConfig>    </Connector>


保存退出,启动tomcat


最后,访问https://192.168.1.200:8443

注意,需要使用https


查看tomcat的访问日志

[root@localhost logs]# cat localhost_access_log.2016-06-07.txt   
192.168.1.95 - - [07/Jun/2016:12:04:56 +0800] "GET / HTTP/2.0" 200 11234  
192.168.1.95 - - [07/Jun/2016:12:04:56 +0800] "GET /tomcat.css HTTP/2.0" 200 5576  
192.168.1.95 - - [07/Jun/2016:12:04:56 +0800] "GET /tomcat.png HTTP/2.0" 200 5103  
192.168.1.95 - - [07/Jun/2016:12:04:56 +0800] "GET /bg-nav.png HTTP/2.0" 200 1401  
192.168.1.95 - - [07/Jun/2016:12:04:56 +0800] "GET /bg-middle.png HTTP/2.0" 200 1918  
192.168.1.95 - - [07/Jun/2016:12:04:56 +0800] "GET /bg-button.png HTTP/2.0" 200 713  
192.168.1.95 - - [07/Jun/2016:12:04:56 +0800] "GET /asf-logo.png HTTP/2.0" 200 17811  
192.168.1.95 - - [07/Jun/2016:12:04:56 +0800] "GET /bg-upper.png HTTP/2.0" 200 3103  
192.168.1.95 - - [07/Jun/2016:12:04:57 +0800] "GET /favicon.ico HTTP/2.0" 200 21630

发现,HTTP/2 已经生效了。


登陆后阅读全文
阅读 2159 赞赏 0 有用 0 没用 0 收藏 0 分享

   



0 条留言

相关文章

Linux Web 环境配置站点的方法

HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事

HTTP2.0关于多路复用的研究

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

JAVA NIO 一步步构建I/O多路复用的请求模型

JAVA 中原生的 socket 通信机制

6款程序员必备的开源中文汉字拼音转换及处理工具 (PHP Java .net)

java如何获取网页标题title? (用htmlparser)

Tomcat9配置HTTP2的流程

快速上手 Kotlin 的 11 招

为什么我要改用Kotlin

比特币装逼指南

printf %8s %4s %-12s 这个数字是啥?

mysql: ERROR 1292 (22007): Truncated incorrect DOUBLE value:

手机扫一扫
分享文章