閱讀本文大約須要 4 分鐘
谷歌推送 Chrome68 好幾天了,相信也有不少人注意到了,沒有 https 證書的網站會被明確標記爲不安全
,不過好在目前來講輸入表單數據尚未紅色提示:json
可是也不要高興的太早,Chrome70,會改進這個不安全標識,當用戶輸入表單數據的時候,會有很醒目的紅色提示。(此圖來源於網絡)安全
看來 Chrome68
是谷歌對開發者很重要的一個提醒,升級 https 已迫在眉睫。其實安裝 https 證書也是很是簡單的,有不少免費的證書可用。服務器
這裏介紹兩種很是主流的證書獲取和安裝方式。用的服務器是 Nginx,其餘服務器請自行探索吧。網絡
若是要啓用HTTPS,咱們就須要從證書受權機構(如下簡稱CA) 處獲取一個證書,Let’s Encrypt 就是一個 CA。而且它是免費的。工具
Certbot 是Let’s Encrypt 官方推薦的獲取證書的客戶端,能夠幫咱們獲取免費的Let’s Encrypt 證書。網站
因此安裝 Let's Encrypt 證書步驟大概爲:下載 Cerbot 工具 =>
使用工具生成證書 =>
配置 Nginx,添加證書 =>
若是證書快過時了,更新證書。阿里雲
$ wget https://dl.eff.org/certbot-auto $ chmod a+x ./certbot-auto
進行此步驟須要先將域名解析到該服務器,而且暫時停掉佔用 80
端口 和 443
端口的程序spa
$ ./certbot-auto certonly --standalone -d example1.com -d example2.com
-d
參數能夠指定要申請域名證書的網站,能夠指定多個或一個code
執行命令後會自動驗證域名全部權並生成證書,若是是第一次使用可能會提示要輸入郵箱,最終生成的證書會在 /etc/letsencrypt/live/example.com
目錄下。server
下面是個人配置,訪問 http://test.bgrc.fun
會自動重定向到 https://test.bgrc.fun
server { listen 80; server_name test.bgrc.fun; return 301 https://test.bgrc.fun; } server { listen 443 ssl; server_name test.bgrc.fun; ssl_certificate /etc/letsencrypt/live/test.bgrc.fun/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/test.bgrc.fun/privkey.pem; # your config ... }
證書的有效期爲 90 天,當快要過時的時候,可執行以下命令續期。
$ ./certbot-auto renew
這裏以阿里雲的爲例,騰訊雲相似
找到 SSL證書服務
,進去以後點擊購買證書
購買界面這裏按鈕的點擊順序是比較關鍵的,沒有點對的話是找不到這個免費證書選項的。
夠買完以後補全信息,幾分鐘以後就會審覈完畢,把證書下載下來便可使用
配置 Nginx 的時候把這兩行改一下就好了,其餘的都同樣。
ssl_certificate xxx.pem; ssl_certificate_key xxx.key;