【发布时间】:2021-10-12 07:41:29
【问题描述】:
A 在 ldap 身份验证后面有一个 nginx 反向代理。
我可以从变量 $_SERVER['PHP_AUTH_USER'] 中读取 php 中的用户名。我认为这意味着用户名从 ldap 传递到 nginx,而不是传递到 php。
在 nginx 配置中是否可以只允许用户列表访问文件夹?
更新
在 nginx 中,用户存储在 $remote_user 变量中。是否可以将 $remote_user 与存储在文件中的用户列表进行比较?然后拒绝或允许访问文件夹?
更新
可能我必须使用 map 指令,例如:
map $remote_user $allowed_user {
default 0;
user1 1;
user2 1;
}
然后在合适的位置进行测试:
location /folder/ {
if($allowed_user != 1){
return 403;
}
proxy_pass http://site;
}
但是当我执行sudo nginx -t 时,我收到以下错误:
nginx: [emerg] unknown directive "if($allowed_user" in /etc/nginx/nginx.conf:104
nginx: configuration file /etc/nginx/nginx.conf test failed
【问题讨论】:
标签: authentication nginx