HTTPS的安全性
HTTPS 能夠更好地保護你的網路流量和網站用戶的隱私與安全
- HTTPS 使用 SSL/TLS 加密,可以保護網路流量免於第三方的竊聽。
- 身份驗證: HTTPS 通過 SSL/TLS 憑證驗證網站的身份,確保你訪問的是你想要訪問的網站,而不是偽裝的網站。
- 完整性保證: HTTPS 通過 SSL/TLS 加密,可以保證傳送的資料完整性。
- 防止中間人攻擊: HTTPS 通過 SSL/TLS 加密,可以防止中間人攻擊,例如劫持流量或竊取資料。
以下把上一篇已經取得網域的網址改成HTTPS吧
http://workchat.hyggenini.com
取得SSL憑證
登入以下網站輸入網域SSL for Free
選擇郵件認證的如果一直卡在這邊 ,請到Pending Validation 這邊取消待驗證的證書然後重新驗證。
完成驗證後下載憑證和私鑰
在 NGINX 上安裝 SSL 證書
官方安裝的文件 Help Center.
1. 將證書文件夾(certificate.crt、ca_bundle.crt 和 private.key)上傳到選擇的目錄中的 NGINX 服務器。
用winSCP這個文件傳輸服務器把證書文件夾傳到去。
通常會選擇 “/etc/ssl” 目錄或 “/etc/nginx/ssl” 目錄。這個目錄可以根據您的喜好和系統設置自由選擇。
我用winSCP電腦間傳輸檔案的軟體)去傳,結果出現沒有權限的錯誤Permission denied,若遇到相同錯誤的可參考我的另一篇文章。
2. 將 domain-ca.pem 、domain-chain.pem 和 domain-root.pem 合併為一個文件 .crt 文件。
這邊建議在/tmp資料夾先做合併,如果再系統目錄/etc/ssl/之類合併可能會出現錯誤,因為你沒有在該目錄中執行寫操作的權限。主目錄,例如 /home應該也可以,合併完再丟到/etc/ssl/就可以了。
cat certificate.crt ca_bundle.crt >> certificate.crt
如果在/tmp還是出現以下錯誤cat: certificate.crt: input file is output file的話就把輸出改名mergecertificate.crt
改名後再把原來的certificate.crt改名,mergecertificate.crt改回來成certificate.crt
cat certificate.crt ca_bundle.crt >> mergecertificate.crt
sudo mv certificate.crt private.key ../etc/ssl
3. 更新 Nginx 的配置
接下來,打開虛擬主機文件後,創建現有非安全服務器模塊的副本並將其粘貼到原始文件下方。
sudo nano /etc/nginx/sites-available/文件名
4. 重啟服務器
sudo /etc/init.d/nginx restart
如果不幸無法啟動的話,輸入以下指令告訴你有沒有錯誤。
service nginx configtest
輸入以下指令得到錯誤
sudo nginx -t
5. 測試
以下是加了s的https
https://workchat.hyggenini.com
以下是加了沒加s的http
[…] 取得 SSL 憑證用 HTTPS 的支援網站 […]