Nginx

nginx客戶端證書驗證如何指定多個根證書?

  • December 7, 2020

對於作為歐洲網格基礎設施 (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 變體不太可能增加任何額外的價值。

馬克西姆·杜寧

引用自:https://serverfault.com/questions/412432