上一次,我們完成域名解析后最蕾,發(fā)現(xiàn)瀏覽器地址欄里的域名被提示為不安全依溯,就是因為它還是個寶寶,沒有升級為 HTTPS 證書瘟则。
那怎么升級為 HTTPS 證書呢?可以直接通過阿里云購買 SSL 證書枝秤,但特么巨貴醋拧!
本來想嘗試一下 AWS 的免費 SSL 證書,但卡到驗證碼這一步就是收不到信息淀弹。
索性就還用 FreeSSL 吧丹壕。
FreeSSL.cn 是一個提供免費HTTPS證書申請的網(wǎng)站,網(wǎng)址如下:
輸入域名 tobebetterjavaer.com 選擇 trustAsia 品牌證書薇溃,點擊「創(chuàng)建」菌赖,這次我選擇的是三年期自動化(剛好我的服務(wù)器申請的是三年,域名也是三年)沐序,9.9 元琉用,還是非常良心的。
微信/支付寶支付完成后會跳到證書的訂單列表策幼。
選擇「更多操作」里的訂單詳情邑时,會跳轉(zhuǎn)到 CertCloud 頁的管理訂單。
點擊「提交 CSR」后點擊「提交」特姐。
接下來就到了域名驗證環(huán)節(jié)晶丘,點擊「獲取驗證信息」。
切換到域名解析設(shè)置頁唐含,準備添加記錄浅浮。
按照 CertCloud 提供的域名驗證信息,添加記錄捷枯。
添加完成后切換到 CertCloud滚秩,點擊「域名驗證」。
如果不確定上一步的記錄是否添加成功铜靶,可以點擊「診斷」按鈕進行測試叔遂,如果沒有問題會提示匹配成功的信息他炊。
之后,點擊「我已完成配置已艰,檢測一下」痊末,如果沒有問題,會先提示等待 CA 頒發(fā)證書哩掺,之后再次檢測會提示「證書已簽發(fā)凿叠,請刷新頁面查看」龟虎。
好的齿拂,直接刷新頁面闰蛔,可以看到訂單狀態(tài)已經(jīng)變成「已簽發(fā)」的狀態(tài)冗恨。
點擊證書操作中的「下載證書」犀概,選擇適用于 Nginx 的 PEM 格式證書漫谷,點擊下載坠七。
使用 Tabby 終端的「SFTP」將證書上傳到網(wǎng)站的云服務(wù)器眨补。
打開寶塔面板誊稚,準備配置 Nginx 的 SSL 證書翔始。將以下信息復制到 Nginx 的配置文件中,保存后重新加載配置里伯。
# HTTPS server
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /home/cert/nginx/tobebetterjavaer.com_cert_chain.pem;
ssl_certificate_key /home/cert/nginx/tobebetterjavaer.com_key.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /home/www;
index index.html index.htm;
}
}
記得在寶塔面板和云服務(wù)器后臺放行 443 端口城瞎。
在地址欄訪問 https://tobebetterjavaer.com
就可以看到我們的域名已經(jīng)升級為 HTTPS 了(安全鎖的小圖標也顯示出來了)。
這時候疾瓮,如果我們訪問 80 端口的 http脖镀,仍然是可以的。只不過仍然會顯示一個不安全的提示狼电。
此時蜒灰,我們需要將 HTTP 重定向到 HTTPS。
server {
listen 80;
server_name tobebetterjavaer.com www.tobebetterjavaer.com;
return 301 https://$server_name$request_uri;
}
注釋掉原來的 80 端口監(jiān)聽漫萄,改為 return 跳轉(zhuǎn)卷员。
再次刷新原來的 HTTP 訪問鏈接,可以看到已經(jīng)跳轉(zhuǎn)到 HTTPS 了腾务,如果你查看地址欄的話毕骡,也會看到地址變成了 https://tobebetterjavaer.com
。