知識庫: SSL 憑證
憑證安裝教學 - Linux (Apache與nginx) 跨簽憑證設定
發佈人 Adwin Xie, lastmodifiedby Seric Hsu 發表於 06 8月 2026 10:51 上午

※溫馨提醒※

部分憑證商(如 Certum)為了因應 CA/Browser Forum 調整,有頒發新的 CA 憑證,已加強憑證的安全性,

針對舊版系統相容性問題,會額外提供「跨簽憑證(Cross-Sign)」,讓憑證鏈改走跨簽的根/中繼 CA。

在動手操作前,請您務必注意下列幾個要點:

1. 請確保您手上已備妥網站憑證檔(.crt)與對應私鑰檔(.key)

2. 請確保您已從憑證商下載跨簽用的中繼/根憑證檔案,並確認檔名為跨簽版本(而非預設版本),如有疑問請洽憑證商確認

3. 操作過程需要 sudo (root) 權限,且Apache伺服器需已安裝 mod_ssl

4. 請務必先看完教學說明後,再參照教學說明一步步操作 [重要]

本文將以 Certum 憑證商為例!


一、在動手操作前,建議先備份現有的網站設定檔,以防操作失誤時可以快速還原:

sudo cp -r /etc/apache2/sites-available /etc/apache2/sites-available.bak (以Apache 為例)

若您的發行版路徑不同(例如 CentOS/RHEL 為 /etc/httpd/conf.d),請依實際路徑備份。

二、如不清楚網站設定檔存放位置,可參考以下指令查看設定檔位置,參考上述指令備份設定檔後,再進行修改

Apache: 

sudo grep -rn '/etc/apache2/' -e 'example.com.tw' 2>/dev/null || sudo grep -rn '/etc/httpd/' -e 'example.com.tw' 2>/dev/null(請將example.com.tw 更換為實際使用網域)

Nginx:

sudo grep -rn '/etc/nginx/' -e 'example.com.tw'  (請將example.com.tw 更換為實際使用網域)

三、確認跨簽憑證鏈的正確組合順序。跨簽憑證鏈通常由下而上排列如下:
網站憑證(Leaf Certificate)
中繼憑證(Intermediate CA,需為憑證商提供的跨簽版本)
跨簽根憑證(Cross-Signed Root CA,若憑證商有提供)

Certum跨簽憑證可參考 https://www.certum.eu/en/cert_expertise_root_certificates/  官方列表下載  Subordinate CAs Cross Certificates 內容(請以憑證類型及金鑰加密模式下載對應跨簽憑證),

請務必以憑證商官方文件為準,確認跨簽用的中繼憑證檔名,避免誤用預設(非跨簽)版本的中繼憑證,否則跨簽將不會生效。

將網站憑證與跨簽中繼/根憑證,依上述順序合併成一個完整的憑證鏈檔案(合併時請以正確檔名操作):

cat your_domain.crt \
Certum_Intermediate_CrossSigned.crt \
Certum_CrossSign_Root.crt > your_domain_fullchain.crt

合併時請注意,檔案之間不可有多餘空行分隔錯誤,且每張憑證都需保留完整的 -----BEGIN CERTIFICATE----- 至 -----END CERTIFICATE----- 區塊,缺漏將導致憑證鏈驗證失敗。

四、編輯該網站的 SSL 虛擬主機設定檔(例如 /etc/apache2/sites-available/your_domain-ssl.conf),將憑證路徑指向合併後的完整鏈檔:

<VirtualHost *:443>
ServerName your_domain.com

SSLEngine on
SSLCertificateFile /etc/ssl/certs/your_domain_fullchain.crt(Nginx 則是ssl_certificate ,/etc至crt此段為憑證在主機內檔案路徑)
SSLCertificateKeyFile /etc/ssl/private/your_domain.key  (Nginx 則是 ssl_certificate_key,/etc至key此段為key檔在主機內檔案路徑)

# 若 Apache 版本低於 2.4.8,需額外指定 SSLCertificateChainFile
# SSLCertificateChainFile /etc/ssl/certs/your_domain_chain.crt
</VirtualHost>

Apache 2.4.8(含)以後版本,可直接將完整鏈放入 SSLCertificateFile,不需要再單獨設定 SSLCertificateChainFile。若您的版本較舊,請將網站憑證與鏈憑證分開設定。

五、儲存設定檔後,請先檢查語法是否正確:

sudo apachectl configtest

CentOS/RHEL 系統請改用 sudo httpd -t(nginx 則為sudo nginx -t)

確認畫面顯示 Syntax OK 後,再進行下一步。

六、最後重新啟動 Apache(Nginx) 服務,使變更生效:

sudo systemctl restart apache2(nginx 則是sudo nginx -s reload 或 sudo systemctl restart nginx  )

CentOS/RHEL 系統請改用 sudo systemctl restart httpd。


常見問題

Q1. 憑證鏈張數不正確?

A1. 請確認合併檔案時,是否誤用了非跨簽版本的中繼憑證,或憑證區塊有缺漏。

Q2. 重新啟動後仍顯示舊憑證鏈?

A2. 部分用戶端裝置的憑證信任快取時間較長,可能需要稍待一段時間,或依裝置說明清除信任快取。

   

(0 votes)
非常有幫助
沒有任何幫助

遠振資訊股份有限公司 • 統一編號:28132571
服務專線:4499-343 (手機撥打請加 02)• 地址:235601 新北市中和區中正路866之7號12樓
[ WHOIS 查詢 ] • [ 雲端主機 ] • [ 虛擬主機 ] • [ 實體主機 ] • [ SSL 憑證 ] • [ 網域申請 ] • [ cPanel 教學 ] • [ WHM 教學 ]
本公司由 鴻安法律事務所秘書 擔任常年法律顧問 • Copyright 2013-2025 All Rights Reserved