明天3月8号妇女节了,给项目组里面的唯一美女keke做了个相册,提前祝美女们节日快乐了,由于时间紧迫也没做用户权限系统,索性就用nginx配置了访问限制。
其实主要的是两行当面。
auth_basic_user_file /usr/local/nginx/conf/passwd;
auth_basic 'please input user code'
其中 passwd
是用
htpasswd -c ./passwd username
输入两次密码就生成了
这时候又来了需求了,我又想根据不通的ua信息 启用或者禁用 auth_basic
当时思路是把
if ($http_user_agent !~* "ua text string") {
auth_basic_user_file
auth_basic
}
这样会报错,这个配置不允许放在 if里面
后来根据设置变量的形式解决了,又get新技能了。苦逼青年欢乐多~
set $auth_basic off;
if ($http_user_agent !~* "ua text string") {
set $auth_basic Restricted;
}
auth_basic $auth_basic;
最后全量代码
listen 80;
server_name keke.ibeeger.com;
index index.html index.htm default.html default.htm;
root /data/view/keke;
auth_basic_user_file /usr/local/nginx/conf/passwd;
location / {
set $auth_basic off;
if ($http_user_agent !~* "abcdefglalalalal") {
set $auth_basic Restricted;
}
auth_basic $auth_basic;
}
access_log /data/logs/keke.log;
文章来源: nginx如何设置用户访问限制