簡體   English   中英

帶有幾個crt文件的Apache conf

[英]Apache conf with several crt files

我購買了Comodo PositiveSSL並獲得了4個crt文件:

AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
domain.com.crt

我有這個配置:

<VirtualHost *:443>
ServerName domain.com
ServerAlias www.domain.com

SSLEngine on
SSLCertificateFile /var/www/domain.com/domain.com.crt
SSLCertificateKeyFile /var/www/domain.com/domain.com.key

ServerAdmin webmaster@localhost
DocumentRoot /var/www/domain.com/html

<Directory /var/www/domain.com/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

如何使用這3個文件:

AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt

https連接工作正常,但似乎瀏覽器看不到我的簽名。 我認為問題是將所有4個文件添加到apache配置中,但是我不知道該怎么做。

這些文件是證書鏈。 有一個域證書,有中間證書,還有您自己的證書。

SSLCertificateFile已引用您自己的證書。 根證書通常安裝在用戶的瀏覽器中(這就是您所支付的費用……他們向瀏覽器供應商付款以包含其根證書這一事實)。

但是您的證書不是直接從根證書衍生而來,但是有這些中間證書

因為您沒有直接從瀏覽器中的根證書之一派生的證書,所以必須將整個證書鏈交付給用戶。 (是的,根證書也要具有完整的鏈。)

通常,這是通過將所有三個文件放入一個cert文件(例如,intermediate.comodo.crt)並在Apache配置中引用它們來完成的。 它看起來像這樣:

…
SSLEngine on
SSLCertificateFile /var/www/domain.com/domain.com.crt
SSLCertificateChainFile /var/www/domain.com/intermediate.comodo.crt
SSLCertificateKeyFile /var/www/domain.com/domain.com.key
…

此文件中的證書必須以正確的順序...根在最上,然后在鏈中向下(IIRC,但您可能需要嘗試不同的順序)。

如果您的服務器是公共服務器,請使用SSLlabs服務來測試您的設置: https ://www.ssllabs.com/ssltest/(請注意,使用不同的配置多次測試時,您必須在每次更改后清除其緩存。否則,會立即從他們對服務器的最后一次測試中獲得結果。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM