把你的网站升级成HTTP/2

clipboard.png

在开启http2的过程中,踩了很多的坑,同时也一一的解决了,在此分享给需要的朋友们。

开启http2的前提条件

关于openssl

使用http2前,需要确保服务器的openssl版本必须大于1.0.2,查看版本的命令:

openssl version

clipboard.png

如果看到1.0.2,恭喜你,可以继续的进行下一步操作了,如果版本的是1.0.1,也有办法

  • 第一个办法是换操作系统,选择支持openssl 1.0.2的操作系统,可以参考如下表格

clipboard.png

目前我选择云主机的操作系统时就是ubuntu 16.04这个版本

  • 第二种办法就是自己下载openssl的高版本,然后nginx编译时使用自己下载的openssl,这种方式操作起来比较复杂,具体请参考Jerry Qu的博客,里面的步骤和操作说明,我整理了一份脚本,操作起来更简单,亲测可用,详见:Github。通过这种方式,你会得到一个已经使用本地openssl 1.0.2版本的nginx,这样操作起来和上面方法的步骤是一致的。

你可能会问:我自己升级操作的openssl版本不就行了嘛,这种方法我也试过,行不通,通过上面命令看到的是1.0.2,但是nginx的各项参数都对,就是http2就是不起作用,所以各位还是参照上面两个解决办法吧。

让你域名成为HTTPS

要开启http2,你的域名就必须是https的,如果你的域名还不是,也没关系,我们可以免费的获取https的证书,而且是一键式的,非常简单,具体步骤如下:

clipboard.png

  • 选择完之后,页面会自己跳转到操作步骤页面,如下图

clipboard.png

  • 接着,你就可以按照你看到的步骤敲命令即可

  • 如果你选择的是ubuntunginx的组合,你可以使用我整理好的脚本,一键运行,需要请移步Github

遇到的问题

运行的时候你会遇到这样的问题:找不到域名,如下图

clipboard.png

是因为你的nginx的配置文件中找不到你录入的域名,我们需要修改一个配置文件的域名。

  • 找到nginx的配置文件,使用nginx -V

clipboard.png

  • 找到server对象,增加server_name为你的域名

clipboard.png

  • 重启nginx,命令:sudo nginx -s reload

  • 再运行生成证书的命令,就会生成成功!

重启完之后,依然是http1.1

  • 经过以上步骤,你的nginx的配置文件,会多出来这样的4行代码:

clipboard.png

你的和我主要区别就是ssl后面的http2,把这个加个,再次重启,即可看到效果!

看效果

怎么看你的网站是不是已经开启了http2了呢,我们两种办法来看

第一种:使用Charles

clipboard.png

第二种:使用Chrome

访问:chrome://net-internals/#http2

clipboard.png

在实施过程中,有问题的同学,欢迎在评论区留言!


奥巴驴
干货
1 篇内容引用
2.8k 声望
218 粉丝
0 条评论
推荐阅读
前端集成weex,你需要学习的objective-c基础
最近要把weex集成到App中,需要给iOS和安卓提供库文件,这里的库文件并不是WeexSDK,而是连接iOS和Weex的中间件,所以就接触到oc,如果你也和我一样,需要集成weex,那恭喜你,oc你也需要学习。你可能会有个疑问...

会说话的鱼7阅读 3.1k

Nginx常用配置及和基本功能讲解 | 京东云技术团队
作者:京东物流 殷世杰Nginx已经广泛应用于J-one和Jdos的环境部署上,本文对Nginx的常用的配置和基本功能进行讲解,适合Nginx入门学习。1 核心配置找到Nginx安装目录下的conf目录下nginx.conf文件,Nginx的基本功...

京东云开发者6阅读 624

封面图
有了 NGINX 和 Kong,为什么还需要 Apache APISIX?
2021 年 5 月,云原生社区技术沙龙·广州站,API7.ai(支流科技)联合创始人 & CTO,Apache APISIX PMC 王院生在活动上做了《有了 NGINX 和 Kong,为什么还需要 Apache APISIX》的分享,以下是现场分享的文字版。...

API7_技术团队1阅读 4.4k

反向代理学习笔记(一) Nginx与反向代理绪论
作为一个沪漂程序员,听到代理这个词,我下意识的想到了中介,现在在上海已经很少能找到房东看房子了,基本上都是从中介那里看房,从这个角度来说中介代理了房东的部分职责,带你看房。在汉语词典中也是这么阐释...

北冥有只鱼2阅读 1k

封面图
vue项目部署到阿里云服务器(windows - Nginx代理)
项目构成:前端:vue+vant-ui,数据库:mysql,后端:node.js部署方式:nginx代理一,首先要拥有自己的服务器,阿里,腾讯都可以,我用的是阿里的购买方式省略...购买完成后,会跳到实例界面,也就是你的服务器实...

墨城2阅读 790

前端跨域问题解决办法, Nginx配置为例
💡 Tips:可以将多个系统融合成一个系统,无技术壁垒,可以像iframe一样实现功能组合● qiankun (阿里支持)● micro-app (京东支持)● wujie (腾讯支持)本人推荐● lingjie 携程支持(团队已跑路)

smallStone3阅读 1.5k评论 3

Ubuntu 22.04 LTS 上安装 Nginx Web 服务器
Nginx 是一个免费和开源的 Web 服务器,它也可以用作反向代理,HTTP 负载均衡器,HTTP 缓存和邮件代理。Nginx 适用于所有类似 Unix 的操作系统,并以 BSD 开源许可协议发布。

鸠摩智首席音效师阅读 565

2.8k 声望
218 粉丝
宣传栏