網站通信協議升級到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

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM