2016-04-20 55 views
0

在我們的公司網絡中,所有用戶都部署了客戶端證書。所以當我使用「ssl_verify_client:on」時指令,所有用戶都被授予訪問權限。使用客戶端證書時限制允許的用戶

如何限制訪問有效用戶列表,例如:只有IT部門。我想要一個類似於htpassword文件的文件,其中包含允許訪問應用程序的用戶名。

這在nginx中怎麼可能?

+0

檢查你可以檢查'$ ssl_client_s_dn' /'$ ssl_client_i_dn'變量。 –

+0

@ alexey-ten我可以在** if if指令中使用$ ssl_client_s_dn,但是我需要爲每個用戶或像/ foo | bar | acme /這樣的正則表達式使用單個「if」。兩者都「感覺不到」。我正在尋找類似「有效用戶」指令的內容...... – sumpfgottheit

回答

1

您可以用map指令結合$ssl_client_s_dn

map $ssl_client_s_dn $access_denied { 
    default 1; 
    "alice" 0; 
    "bob" 0; 
} 

if

if ($access_denied) { 
    return 403; 
}