Tomcat实现http2的配置

  1. Tomcat apr模式访问:

    (因为Jdk8不支持对ALPN(application Layer Protocol Negotiation)协议,因此使用jdk8自带的keytool无法实现对HTTP2协议证书的配置!)实现http2配置要么Jdk10的环境下配置相关证书可以实现对Http2的实现或者通过openssl实现证书结合apr的方式进行相应的配置。本例子,将通过配置Apr实现对http的访问以及http2的访问。

  操作环境:linux Tomcat版本:8.5.33  JAVA运行环境:jdk10.0.2  Apr本地库版本:1.6.3

  在http://apr.apache.org/download.cgi 下载Tomcat apr1.6.3可移植性运行库

Tomcat实现http2的配置_第1张图片

 

需要的前置环境:

#yum -y install autoconf // 安装autoconf
#yum -y install libtool // 安装libtool
#yum -y install openssl openssl-devel // 安装openssl,默认版本为1.0.1

安装APR1.6.3

(1).# tar -zxvf apr-1.6.3.tar.gz

(2).# cd apr-1.6.3

(3).# ./configure --prefix=/home/bes/xs/apr1.6 //安装到指定的目录下

(4).# make

(5).# make install

 

安装Tomcat-native

  1. .# cd /home/bes/xs/apache-tomcat-8.5.33/bin //进入Tomcat的bin目录
  2. .# tar -zxvf tomcat-native.tar.gz

(3) .# cd tomcat-native-1.2.17-src/native

(4) .# ./configure --with-apr=/home/bes/xs/apr1.6 --with-ssl=/home/bes/xs/openssl --prefix

=/home/bes/xs/apr1.6 //指定上面apr的安装目录

(5).# make

(6).# make install

添加配置参数:

在bin/catalina.sh中添加参数CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/home/bes/xs/apr/lib"

配置apr类库可能出现的问题:

1

解决方案:

.   

进入apr1.6.3文件下的configure修改

$RM 改成$RM -f即可。

2.可能出现需要openssl >=1.0.2的问题

原因:yum install openssl openssl-devel由于centos 7 当前的yum 库只有1.0.1 的OpenSSL,所以需要手工安装1.0.2.

解决方案:yum remove openssl;添加openssl版本为1.0.2

下载地址:http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/openssl10.html 

配置openssl1.0.2步骤:

  1. .# tar -zxvf openssl-1.0.2p.tar.gz
  2. .# cd /home/bes/xs/openssl-1.0.2p
  3. .# ./configure --prefix=/home/bes/xs/openssl -fpIc
  4. .# make
  5. .# make install

 实现Apr访问:修改tomcat的配置

启动tomcat,查看日志:即成功配置Apr访问:192.168.9.164:8080

Tomcat实现http2的配置_第2张图片

 

2.实现HTTP2访问的配置:

①配置openssl安全证书:

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

修改server.xml的配置,第一种基于Apr的实现:

Tomcat实现http2的配置_第3张图片

 

第二种基于Nio的实现

Tomcat实现http2的配置_第4张图片

重新启动tomcat,访问即可https://192.168.9.164:8443

3.如何查看协议是否成功是HTTP2请求:

①查看logs日志即可;操作步骤如下:

  1. .# cd home/bes/xs/apache-tomcat-8.33/logs
  2. .# cat localhost_access_log.2018-09-03.txt

Tomcat实现http2的配置_第5张图片

你可能感兴趣的:(JAVA,Tomcat实现Http2)