网站升级HTTPS与HTTP2记录

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

升级HTTPS

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

g clone https://github.com/certbot/certbot.git
cd certbot

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

./certbot-auto certonly --standalone --email `你的邮箱地址` -d `你的域名1` -d `你的域名2`

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

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覆盖掉.

在你的Nginx Config配置中加入 --with-http_v2_module
执行make命令

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

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

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形式.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏不想当开发的产品不是好测试

性能测试 -- 实际例子

1、环境申请搭建,压测机器的申请; 2、压测场景设计和思考; 3、压测脚本的编写和修改; 4、压测开始,调试,开始正式压测; 5、压测结果分析,定位问题,重新压...

24150
来自专栏Linux驱动

第4阶段——制作根文件系统之编译配置安装busybox(3)

在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入、标准输出以及标准错误) /dev/null  (为...

24670
来自专栏Java帮帮-微信公众号-技术文章全总结

05.Git分支管理

05.Git分支管理 Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。...

38170
来自专栏IT笔记

Linux下安装 Python3

Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,比如cen...

15330
来自专栏电光石火

如何让nginx显示文件夹目录

1. 如何让nginx显示文件夹目录 vi /etc/nginx/conf.d/default.conf 添加如下内容: location / ...

216100
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装Linux,Nginx,MySQL,以及PHP(LNMP)堆栈

LNMP软件堆栈是一组可用于为动态网页和Web应用程序提供服务的软件。这是一个描述Linux操作系统的首字母缩写词,带有Nginx Web服务器。后端数据存储在...

18340
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合基础篇(十一)SVN服务器进阶

前言 上一篇文章《Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建》简单的讲了一下SVN服务器的搭建,并没有详细的介绍配...

324100
来自专栏云计算教程系列

如何在Ubuntu上找到Redis日志

日志对于Redis安装的故障排除至关重要。你可能会问自己“我的Redis在哪里登录?” 或者“Redis在Ubuntu 14.04上存储日志文件的位置是什么?”

1.2K30
来自专栏雨过天晴

原 荐 IntelliJ IDEA系列编辑器

38730
来自专栏钟绍威的专栏

硬连接与软连接,inode与links当访问一个文件的时候,发生了什么INODE的内容建一个硬连接发生了什么?访问硬连接的过程注意建一个软连接发生了什么?访问一个软连接注意

硬连接和软连接,第一感觉就像是window的快捷方式,实则不然 要说硬连接和软连接,那就必须了解inode和block以及分区了 EXT文件系统在创建分区的时候...

21090

扫码关注云+社区

领取腾讯云代金券