将路由器通过frp 代理到哇完后,一些内容不想被其他人知道,但是又想让部分人看到。可以通过 nginx的http auth模块。只有输入正确的用户密码才允许访问web内容。
nginx basic auth指令
语法: auth_basic string | off;
默认值: auth_basic off;
配置段: http, server, location, limit_except
密码文件
/etc/config/htpasswd
touch /etc/config/htpasswd
内容格式
ttlsauser1:password1
ttlsauser2:password2:comment
nginx认证配置实例
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}
include luci_uwsgi.conf;
location ~ /webui-aria2 {
auth_basic "nginx basic http test for ttlsa.com";
auth_basic_user_file /etc/config/htpasswd;
#autoindex on; #是否开启目录浏览
}
备注:一定要注意auth_basic_user_file路径,否则会不厌其烦的出现403。
生成密码
可以使用htpasswd,或者使用openssl
printf "demo:$(openssl passwd -crypt 123456)\n" >>/etc/config/htpasswd
cat conf/htpasswd
重启 或者 重载 nginx
/etc/init.d/nginx reload
发表评论 取消回复