取得 SSL 憑證用 HTTPS 的支援網站

HTTPS的安全性

HTTPS 能夠更好地保護你的網路流量和網站用戶的隱私與安全

  1. HTTPS 使用 SSL/TLS 加密,可以保護網路流量免於第三方的竊聽。
  2. 身份驗證: HTTPS 通過 SSL/TLS 憑證驗證網站的身份,確保你訪問的是你想要訪問的網站,而不是偽裝的網站。
  3. 完整性保證: HTTPS 通過 SSL/TLS 加密,可以保證傳送的資料完整性。
  4. 防止中間人攻擊: 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

http://workchat.hyggenini.com

1 則留言

留言功能已關閉。