参考 https://segmentfault.com/a/1190000013420784
nginx 版本 1.12.2
tomcat 版本 8.5.32
开始之前,nginx和tomcat必须先已经是HTTPS,拥有SSL证书。如何还没有的,先看下我之前的2篇博客
Let’s Encrypt 第二弹 支持通配符的免费SSL证书
Nginx Tomcat 实现网站全站https 基于免费的SSL证书Let’s Encrypt
http2.0的好处 和浏览器支持情况我放到后面再说,先直接上方法,一句话就搞定
tomcat部分(版本必须大于等于 8.5.x 查版本方法 查看tomcat根目录文件RELEASE-NOTES)
- # 首先是tomcat配置文件 tomcat/conf/server.xml
- # 再次强调,必须是已经HTTPS的http 1.1才能平滑升http 2.0
- # 找到配置 8443 和SSL证书的Connector标签
- <Connector port=“8443” protocol=“org.apache.coyote.http11.Http11Protocol” SSLEnabled=“true” ……… >
- # 重点就是这个 加上这句
- <UpgradeProtocol className=“org.apache.coyote.http2.Http2Protocol” />
- </Connector>
结束重启tomcat
- ./tomcat/bin/shutdown.sh
- ./tomcat/bin/startup.sh
nginx部分(版本必须大于 1.9.x 查版本命令 nginx -v)
- # /etc/nginx/nginx.conf
- server {
- # 重点就是这里加http2
- listen 443 ssl http2 default_server;
- …
- }
结束重启nginx
- service nginx restart
到这里已经大功告成了
打开chrome的开发者工具(F12)检查一下
如果network里没有内容,就到页面ctrl+f5强制刷新,如果没有看到protocol列,就右击列头勾选上
http2.0详解可以参考大牛的帖子
https://blog.wangriyu.wang/2018/05-HTTP2.html
浏览器支持情况
最后一句话总结 HTTP2 就是快!浏览器完全支持!