首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

個人網站安裝 SSL 憑證完整教學:從申請到 Nginx 設定

     編輯:Java 相關知識

SSL(Secure Sockets Layer,安全通訊端層)及其繼任者 TLS(Transport Layer Security,傳輸層安全協定)是為網路通訊提供加密與資料完整性的安全協定。HTTPS(Hypertext Transfer Protocol Secure)正是在 HTTP 應用層下引入 SSL/TLS 作為子層,透過預設連接埠 443 進行加密傳輸,保障使用者隱私與資料安全。

為什麼要安裝 SSL 憑證?

建置網站成本不低,若能取得免費且受信任的 SSL 憑證,不僅能降低支出,還能提升網站可信度與 SEO 排名。早期 StartSSL 提供免費 Class 1 憑證,雖然該服務已停止運營,但申請流程與安裝邏輯對理解現行 Let's Encrypt、ZeroSSL 等免費憑證機制仍具參考價值。

免費 SSL 憑證申請流程(以 StartSSL 為例)

1. 註冊帳號

進入官網點選 Sign-up For Free,填寫真實資料:姓名請用中文拼音,地址需精確到門牌號碼,否則後續人工審核可能要求補件。

2. 驗證信箱與備份客戶端憑證

註冊成功後會收到驗證連結與驗證碼。StartSSL 採用客戶端憑證認證登入,務必妥善匯出 .p12 或 .pfx 檔並備份,遺失將無法登入控制台。

3. 域名驗證

進入 Control Panel → Validations Wizard → 選擇 Domain Name Validation,輸入欲申請憑證的域名與可接收郵件的信箱,完成信箱驗證碼確認。

4. 產生私鑰與憑證

  • 已有私鑰:可跳過產生步驟,直接上傳 CSR。
  • 無私鑰:於 Certificates Wizard → Web Server SSL/TLS Certificate → Generate Private Key,設定密碼並儲存 ssl.key。

選擇要綁定的子域名(如 www.example.com),點擊 Tool Box → Retrieve Certificate 取得憑證內容,儲存為 ssl.crt。

伺服器端憑證鏈整理與 Nginx 設定

1. 轉換私鑰格式

openssl rsa -in ssl.key -out server.key

2. 合併憑證鏈

cp ssl.crt server.crt
wget https://cert.startssl.com/certs/ca.pem
wget https://cert.startssl.com/certs/sub.class1.server.ca.pem
cat ca.pem sub.class1.server.ca.pem >> ca-certs.crt
cat ca-certs.crt >> server.crt

將 server.key、server.crt 放置於 /usr/local/nginx/certs/ 目錄。

3. 修改 Nginx 虛擬主機設定

server {
    listen 80;
    server_name www.您的域名.com;
    rewrite ^(.*) https://$server_name$1 permanent;
}

server {
    listen 443 ssl;
    server_name www.您的域名.com;
    root /home/www;

    ssl_certificate /usr/local/nginx/certs/server.crt;
    ssl_certificate_key /usr/local/nginx/certs/server.key;

    # 建議加入現代安全參數
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
}

若不加入 rewrite 導向,網站將同時支援 HTTP 與 HTTPS 雙協定存取。

4. 重啟 Nginx 驗證

/usr/local/nginx/sbin/nginx -s reload

瀏覽器訪問網站,確認網址列出現鎖頭圖示,即代表 HTTPS 已成功啟用。

現代替代方案提醒

StartSSL 已停止服務,建議改用 Let's Encrypt 搭配 certbot 自動化申請與續期,或採用 ZeroSSL、Buypass Go SSL 等免費 ACME 憑證機構,流程更簡單且支援萬用字元憑證。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved