网站通信协议升级到HTTPS&HTTP2

为何要升级到HTTPS和HTTP2?

http://baijiahao.baidu.com/s?id=1602041305989767011&wfr=spider&for=pc

https://www.jianshu.com/p/67c541a421f9

https://segmentfault.com/a/1190000019891825

HTTPS

一、所需条件

  • 域名
  • Web服务器(Nginx,Apache,IIS都行)
  • SSL证书(可通过腾讯云、阿里云等申请)
  • 需要Nginx支持SSL(命令nginx -V中,如果出现 ‘-with-http_ssl_module’ 字样即可)

二、操作步骤

  1. 登录阿里云购买免费SSL证书并申请
  2. 下载证书,上传至服务器
  3. Nginx配置HTTPS服务
  4. 重定向
  5. 重启Nginx服务
  6. 将html中所有的外链资源(如img,css,js,媒体标签等)url置为https

三、具体操作

 1.登录阿里云购买免费SSL证书(https://www.aliyun.com/product/cas?utm_content=se_1001656059

  阿里云免费型DV SSL有效期1年,购买后填写一些信息,提交申请,即可等待签发。在这里表扬一下阿里云,秒速签发。

  在这里讲一下,域名验证类型可选择自动DNS、手动DNS和文件验证,在这里我选择的是自动的;CSR生成方式选择系统生成。

  验证阶段,根据提示,要将域名添加一条DNS解析记录,这里要注意,要去申请域名的网站去操作。比如我的服务器买的阿里云,域名在新网买的,所以要去新网去设置,而不是在阿里云。 

 2.下载SSL证书并上传至服务器

  选择Nginx版本证书,在nginx安装目录(一般在/etc/nginx)中新建文件夹(cert),放置证书

 3.Nginx配置HTTPS服务

 4.重定向

   将所有http请求重定向为https,如上面配置所述。

   有三种重定向方式:

  • rewrite ^/(.*)$ https://example.com/$1;
  • rewrite ^ https://example.com$request_uri? permanent;
  • return 301 https://example.com$request_uri;

   唯一的区别:正则匹配的性能。第三种性能最优,第一种差一些。然而对于业余的我,完全体会不到。

 5.重启Nginx服务

1
2
nginx -t
nginx -reload

 6.前端页面外链资源url全部改成https协议

  否则浏览器仍会提示不安全的连接

  

   对于这些资源,能够使用https的则使用,如果不能使用可以将其下载到自己的服务器上。

HTTP2

一、所需条件

 1、openssl 1.0.2+

1
openssl version  //查看版本的命令

  2、升级HTTPS

· 3.Nginx 1.9.5+ 且 支持

1
nginx -V  # 查看版本

二、修改Nginx配置文件

 原本的https的listen为

1
listen 443 ssl;

 现在在后面加上http2:

1
listen 443 ssl http2 default_server;

 重启Nginx

1
2
nginx -t
nginx -s reload

 在浏览器中可以查看到协议

 FireFox

    

 chrome

    

 

posted @ 2019-12-31 12:07  风与叶子  阅读(803)  评论(0编辑  收藏  举报