共计 670 个字符,预计需要花费 2 分钟才能阅读完成。
在生产环境中,网站需要授权访问的场景非常之多,比如数据库管理工具:phpMyAdmin、MysqlUp、BackUp 等等。有时还需要一些私有目录文件的保护,为了实现这一伟大目标,我们就需要用到 Nginx location 匹配规则,下面将进行讲解。
1. 创建 htpasswd 文件
$ vim /usr/local/nginx/conf/htpasswd
添加以下内容:renwole:xEmWnqjTJipoE
此文件的书写格式是:用户名: 密码
注意:每行一个用户和密码,这里的 password 不是明文,而是将 password 进行 crypt(3) 加密后的字符串。
2. 密码生成
可以打开以下网址输入用户信息进行密码生成:
http://tool.oschina.net/htpasswd
3.Nginx 加密目录配置
在 Nginx 虚拟主机配置文件中的合适区域加入以下内容:
如果保护 tools 目录:
location ^~ /tools/ {
auth_basic "Restricted Area";
auth_basic_user_file conf/htpasswd;
}
说明:若不加 ^~ 只能对目录进行弹窗验证,访问此目录下的文件则无需验证。
如果保护整个网站根目录:
location / {
auth_basic "Restricted Area";
auth_basic_user_file conf/htpasswd;
}
添加需要保护的目录后,重载 Nginx 配置文件,否则不生效。
正文完
星哥玩云-微信公众号