前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网站升级HTTPS与HTTP2记录

网站升级HTTPS与HTTP2记录

作者头像
屈定
发布2018-09-27 11:57:18
2.3K0
发布2018-09-27 11:57:18
举报
文章被收录于专栏:屈定‘s Blog

最近看到两篇文章对于HTTPS与HTTP2两者讲解的很详细,分享并实践一下,正好近期捣鼓了一个个人站点https://mrdear.cn/,可以用来实验. 文章地址 为什么要把网站升级到HTTPS 怎样把网站升级到http/2

升级HTTPS

升级的好处如文章所说,另外这里主要用的是certbot-auto

代码语言:javascript
复制
g clone https://github.com/certbot/certbot.git
cd certbot

申请建议只申请证书,nginx配置自己来配.

代码语言:javascript
复制
./certbot-auto certonly --standalone --email `你的邮箱地址` -d `你的域名1` -d `你的域名2`

如果是申请通配符的证书则需要执行以下命令,申请过程需要dns验证你是域名的所有者.

代码语言:javascript
复制
certbot-auto certonly --email '你的邮箱地址' -d '你的域名' --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

###Nginx配置并且升级HTTP2 正如原作者所说HTTP2具有太多的优势,比如多路复用,对同一个域的服务器只建立一次TCP连接,加载多个资源,使用二进制帧传输,同时会对http头部进行压缩,大大提高了传输的效率. 要注意的是 Nginx启用http2则需要安装http_v2_module模块,并且需要openssl版本大于1.0.2,由于Chrome改变了验证http2的方式,详情可以参考此文章https://news.cnblogs.com/n/545972/.

推荐做法 nginx的模块是支持静态编译的,因此自己下载所需要的软件版本,然后编译时指定配置相应的版本是最佳解决方案.如下脚本,我配置了http_v2_module/opt/openssl-OpenSSL_1_0_2k的版本,这样nginx编译时则不会去使用系统自带的openssl.注意不要make install,该命令是会执行安装操作,也就是会把你之前安装的nginx覆盖掉.

代码语言:javascript
复制
在你的Nginx Config配置中加入 --with-http_v2_module
执行make命令

// 无缝更新
cp -rf objs/nginx 你的nginx目录
检查下Makefile文件,其配置的是否与你真是的nginx路径一直
cat Makefile
更新执行
make upgrade

最后在https监听那里加上http2,nginx reload下即可.

代码语言:javascript
复制
listen 443 ssl http2;
 ssl_certificate 你的证书地址/fullchain.pem;
 ssl_certificate_key 你的证书地址/privkey.pem;

对于chrome最可信的调试方式是访问chrome://net-internals/#http2,如果显示你的网站使用的协议为h2,那么恭喜你开启了http2

目前https://www.itoolshub.com/已经开启了HTTPS与HTTP2.但是图片是放在七牛云的,七牛的HTTPS收费,所以目前没解决,由于图片并不是很多后期迁到自己的服务器上,或者使用base64形式.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 升级HTTPS
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档