2011-02-16 86 views
4

我有apache2 httpd版本2.2.9在SSLEngine上偵聽端口443。所有網址有SSLVerifyClient require,這工作正常。爲SSLVerifyClient請求例外

我想爲特定網址(/ca.crt)設置例外,以便我的客戶可以下載我們簽發的證書所簽發的證書。我嘗試以下操作:

SSLVerifyClient require 

Alias /ca.crt /my/ssl/certs/ca.crt 
<Location /ca.crt> 
    SSLVerifyClient none 
</Location> 

我的問題是,Apache似乎只想增加SSL客戶端證書要求的強度。如果我翻轉這兩個要求,它將按照指定的方式工作。如上所述,Apache有效地忽略了SSLVerifyClient none指令。

發生了什麼事?這是一個錯誤?

回答

7

好吧,事實證明了這個問題的答案在文檔中(因爲它通常是!)

在服務器級的[在SSLVerifyClient指令】適用於 使用的客戶端身份驗證過程 連接建立時,在標準的SSL握手中使用 。

基本上,第一個SSLVerifyClient指令是在每個服務器上下文中。我爲根目錄明確聲明瞭<Directory>聲明,並將SSLClientVerify require指令放在那裏。這個伎倆。

+0

這真的解決了問題 - 謝謝! – 2013-06-10 14:45:24