大数跨境
0
0

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

SuperMap iServer开启HTTP/2解决安全与性能问题 空间智能软件技术大会
2022-11-24
2
导读:新一代HTTP协议已来,一起来开启吧。

随着技术的发展,服务站点页面资源不断增多,消息体积不断增大,实时性与安全性要求越来越高,当下常用的HTTP/1.1协议越来越难以满足需求,而HTTP/2协议针对HTTP/1.1协议存在的问题做了诸多优化,大幅度提高了网页的性能和安全。本文就来介绍SuperMap iServer如何开启HTTP/2来提升安全与性能。

背景

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
0
空间智能软件技术大会
空间智能软件技术大会(简称“GISTC”),地理信息领域技术盛会。
内容 522
粉丝 0
空间智能软件技术大会 空间智能软件技术大会(简称“GISTC”),地理信息领域技术盛会。
总阅读133
粉丝0
内容522