SuperMap iServer开启HTTP/2解决安全与性能问题

作者:lly

一、背景

1.1 什么是HTTP/2

HTTP是指超文本传输协议,它是个简单的请求-响应协议,通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。我们目前广泛的HTTP是HTTP/1.1;而HTTP/2则是超文本传输协议 2.0,是下一代HTTP协议。

1.2 HTTP/2有什么优势

  • 二进制传输
    HTTP/2采用二级制传输,相对于HTTP/1提高了文本传输的安全性。

  • 多路复用
    HTTP/1一个连接只能提交一个请求,而HTTP/2能同时处理多个请求,从而降低连接的数量,提高网络的吞吐量。

  • 头部压缩
    HTTP/2对头部进行了压缩,并且在客户端与服务端各维护了一份头部索引表,只需要根据索引ID就可以进行头部信息的传输,缩小了头部容量,提升了传输效率。

  • 服务端推送
    HTTP/2可以主动推送资源到客户端,避免客户端花过多时间逐个请求,降低响应时间。

由此可见,HTTP/2在安全和性能上,对比HTTP/1,都有提升。接下来我们就看看如何使用iServer配置HTTP/2协议。

二、SuperMap iServer如何配置HTTP/2

本文主要介绍生成使用未经过权威机构认证证书来配置HTTP/2,主要步骤有以下几步:
1.安装 OpenSSL生成CA证书
2.配置SuperMap iServer server.xml文件
3.重启SuperMap iServer
对于直接拥有权威机构认证证书的小伙伴,可以忽略第一步。

2.1 安装 OpenSSL生成证书

1.下载对应Bin包,并将对应文件复制到{JAVA_HOME}/bin/中

32位系统解压文件中的bin/openssl.exe, bin/tcnative-1.dll bin/tcnative-1-src.pdb到{JAVA_HOME}/bin/中
64位系统解压文件中的bin/openssl.exe, bin/x64/tcnative-1.dll  bin/x64/tcnative-1-src.pdb到{JAVA_HOME}/bin/中

在这里插入图片描述

2.生成证书

(1) 生成一个RSA私钥

openssl genrsa -out server.key 2048

在这里插入图片描述
(2)生成免密key

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

在这里插入图片描述
(3)制作CA证书

openssl req -new -x509 -key server.key -out ca.crt -days 3650 

在这里插入图片描述
如果报错Can’t open C:\Program Files\Common Files\ssl/openssl.cnf for reading,则指定相应的openssl.cnf文件后,执行以下指令,再制作CA证书

set OPENSSL_CONF=D:\pkgs\openssl-1.1.1m-h2bbff1b_0\Library\ssl\openssl.cnf

2.2 配置server.xml

在iServer根目录/conf下找到server.xml,将一下代码粘贴到Service节点中,并将证书替换为你自己生成的证书名称和位置

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

2.3 验证

重启iServer后,访问https://localhost:8443,打开控制台查看网络,我们可以看到协议为HTTP/2(目前主流浏览器 HTTP/2 的实现都是基于 SSL/TLS 的,也就是说使用 HTTP/2 的网站都是 HTTPS 协议的,所以这里使用的HTTPS协议头)
在这里插入图片描述

这里再附上改动前的HTTP/1协议对比
在这里插入图片描述

三、总结

执行以上操作,我们就完成了HTTP/2协议的配置,通过验证我们可以看到,由于新协议具备二进制传输,服务端推送等多个改动,我们的资源响应时间得到了提升,并且由于基于SSL/TLS,系统安全性也得到了保障;HTTP/2协议克服HTTP/1存在的延迟难以下降、并发连接有限等等问题,感兴趣的小伙伴快来试试吧。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值