Nginx
nginx客戶端證書驗證如何指定多個根證書?
對於作為歐洲網格基礎設施 (EGI) 一部分的項目,我們需要對在 nginx 上執行的服務進行 SSL 客戶端證書驗證。由於 EGI 中允許有多個根 CA,我們需要 nginx 在客戶端證書驗證期間檢查它們。在 nginx 的文件中,我只能找到
ssl_client_certificate
允許指定一個包含根證書的文件的參數。有沒有辦法在 nginx 中為客戶端證書驗證指定多個根 CA,或者我必須為此使用 Apache?
Nginx 支持多個根證書。只需將多個根 CA 證書放入
ssl_client_certificate
指令中指定的文件中。請注意文件明確地說“證書”(複數)。這是nginx 不支持目錄中的 ssl_client_certificate 的一個考慮因素(就像 Apache 那樣)
“證書文件”與“證書路徑”的區別不在於更新證書後是否執行某些東西(在這兩種情況下,您都必須更新某些東西,要麼 cat 到單個文件,要麼 c_rehash 腳本在 CApath 的情況下創建符號連結)。區別在於記憶體中的證書與磁碟上的證書,後者意味著每次證書檢查時都有系統呼叫和磁碟訪問。
由於 nginx 設計為在高負載下工作,每秒有許多請求(和握手),它使用 CAfile 變體。並且由於 nginx 配置重新載入是無縫的,因此 CApath 變體不太可能增加任何額外的價值。
馬克西姆·杜寧