可以使用 openssl 命令來模擬瀏覽器的行為 
openssl s_client -connect your.domain.com:443 -showcerts
請將 your.domain.com 替換成你的網域名稱。
解讀輸出結果
執行上述指令後,你會看到類似下面這樣的輸出,每個 Certificate 區塊代表一個憑證。
- 0 s:(第一個憑證)- subject: 你的網站憑證(例如- CN=elearning.kmsh.gov.tw)。這是伺服器提供給瀏覽器的第一張憑證。
- issuer: 頒發給你網站憑證的中繼憑證名稱(例如- CN=政府憑證管理中心 - G3)。
 
- 1 s:(第二個憑證)- subject: 中繼憑證本身(例如- CN=政府憑證管理中心 - G3)。
- issuer: 頒發中繼憑證的根憑證名稱(例如- CN=Government Root Certification Authority - G3)。
 
如果你的伺服器設定正確,你應該會看到至少兩個憑證:
- 你的網站憑證。 
- 中繼憑證。 
如果輸出中只看到一個憑證(也就是 0 s: 區塊),那就表示你的伺服器沒有提供中繼憑證。 這是最常見的憑證鏈不完整問題,也是導致瀏覽器顯示不安全警告的原因。
檢查 fullchain.pem 檔案:
openssl crl2pkcs7 -nocrl -certfile fullchain.pem | openssl pkcs7 -print_certs -text -noout
解讀輸出結果
執行命令後,您會看到檔案中包含的每一個憑證的詳細資訊。每一個憑證都由 Certificate: 區塊開頭。
如果您的 fullchain.pem 包含了中繼憑證,您應該會看到至少兩個 Certificate: 區塊,分別代表:
- 您的伺服器憑證 (Server Certificate) - Subject: 會是您的網域名稱,例如 - CN=elearning.kmsh.gov.tw。
- Issuer: 會是頒發給您的中繼憑證名稱,例如 - CN=政府憑證管理中心 - G3。
 
- 中繼憑證 (Intermediate Certificate) - Subject: 會與您的伺服器憑證的 - Issuer相同,例如- CN=政府憑證管理中心 - G3。
- Issuer: 會是根憑證的名稱,例如 - CN=Government Root Certification Authority - G3。
 
如果您的 fullchain.pem 只包含一個 Certificate: 區塊,那表示這個檔案只有您的伺服器憑證,沒有包含中繼憑證。這就是導致瀏覽器顯示不安全警告的原因。
 
 
沒有留言:
張貼留言
歡迎留下您的問題,請留下您的Moodle版本及環境,我們才能跟據您的版本測試問題並回應。