Nginx可以很容易的对某个目录或location进行密码保护。实现步骤如下:
1. 创建密码文件。使用htpasswd工具生成密码文件,命令如下:
htpasswd -c /path/to/passwd username
这会在/path/to/passwd文件中创建名为username的用户条目,并提示输入密码。
2. 配置location。在nginx配置文件的server块中,设置要保护的location,并指定密码文件:
location /protected/ { auth_basic "Restricted Area"; auth_basic_user_file /path/to/passwd; }
– auth_basic:启用basic认证
– auth_basic_user_file:指定密码文件路径
3. 重新加载配置。执行命令`nginx -s reload`重新加载配置。
4. 访问测试。现在访问http://your-server/protected/目录,将会出现用户名和密码登录提示框。输入步骤1中设置的用户名和密码才可访问。一个完整的例子如下:
passwd文件内容:
username:$apr1$qDiH0qE7$Xlz2ZAEHIjarLe4S5YM/R.
nginx配置:
server { listen 80; server_name yourserver; charset utf-8; location /protected/ { auth_basic "Restricted Area"; auth_basic_user_file /path/to/passwd; } }
现在http://yourserver/protected/目录已被密码保护。用户需要输入帐号username和密码qDiH0qE7才能访问。
除了basic认证外,nginx还支持其他认证方式如digest认证。密码文件也可以使用其他工具生成。
通过设置认证,我们可以轻易的对nginx中的敏感目录或资源进行访问控制,实现安全防护。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录