Pav*_* A. 11 authentication drupal config nginx
我正在尝试按如下方式设置Nginx服务器:
首先,服务器应检查用户是否提供客户端SSL证书(通过ssl_client_certificate).如果提供了SSL证书,则允许访问该站点,
如果未提供SSL证书,请要求用户输入密码并通过auth_basic登录.
我可以配置两个身份验证方法在同一时间.但这个配置是多余的.
要检查,用户是否提供其SSL证书,我尝试这样的配置:
18: if ($ssl_client_verify != SUCCESS) {
19: auth_basic "Please login";
20: auth_basic_user_file .passfile;
21: }
Run Code Online (Sandbox Code Playgroud)
但Nginx返回错误:
这里不允许使用"auth_basic"指令.../ssl.conf:19
在这种情况下如何设置条件?
And*_*ber 12
您可以auth_basic在if子句中设置配置,如下所示:
server {
listen 443;
auth_basic_user_file .htpasswd;
ssl_client_certificate ca.cert;
ssl_verify_client optional;
...
location / {
...
if ($ssl_client_verify = SUCCESS) {
set $auth_basic off;
}
if ($ssl_client_verify != SUCCESS) {
set $auth_basic Restricted;
}
auth_basic $auth_basic;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果没有提供客户端证书(或验证失败),身份验证将回退到HTTP Basic.
| 归档时间: |
|
| 查看次数: |
7538 次 |
| 最近记录: |