nginx如何修改配置,以启用资源访问密码保护?
发布于 作者:苏南大叔 来源:程序如此灵动~

最近,苏南大叔的博客,终于被国外的利用评论刷外链的外国友人盯上了。今天早上尝试了几次之后,发现我的博客不是wp,他的灌水程序似乎不能正常运行。还留言主动询问我的博客类型是什么... 善良的我差点就被欺骗了,我点击它的链接过去后,果然是卖某某产品的页面。好吧,我还天真的认为,国外友人认真的拜读了我的中文大作。然后真心的表示非常ok呢。哈哈。
不过,由于,苏南大叔是从后台点击过去的他的页面。所以,理论上,他那边可以利用referer
来获取更多信息。所以,给苏南大叔的后台目录再做一层密码加密防护的,还是非常有必要的。这个保护操作就是发出401 Unauthorized
状态码,详细过程请参考本文的描述。
nginx
启用目录密码
nginx
的设置如下:
location ~ /admin {
auth_basic "who are you";
auth_basic_user_file /yourpath/yourpassword.pass;
}
具体的解释解释:location
这段,写错的话,会导致所有的php被当成普通文件下载回来哦。就是说你的源码暴露了。
#location ^~ /admin { #文件匹配所有文件
#location ^~ /admin/ { #文件仅匹配目录
auth_basic
这段,是添加在授权对话框里面的文字。但是,各大浏览器的支持情况是不一样的。比如:chrome
不支持显示,firefox
不支持显示中文。
生成nginx
专用的密码文件
auth_basic_user_file
,这个就是你的用户名和密码的位置。苏南大叔是利用下面的脚本生成的。
printf "yourname:$(openssl passwd -crypt yourrealpassword)\n" >>/yourpath/yourpassword.pass
yourrealpassword
这部分,里面如果含有特殊字符的话。需要用斜线进行转义操作。就是你回车键上边的那个字符。你懂的。加密完成的密码,每次都是不一样的。注意:是密码不一样,但是实际的密码都是一样的,只是加密的结果每次都不一样。
效果图
效果图如下:
关联文章
- 《安全启用宝塔面板自带的phpmyadmin》
https://newsn.net/say/bt-panel-enable-phpmyadmin.html
总结
令人激动人心的广告时间到了,更多由苏南大叔提供的nginx
相关经验文章,马上请点击这里查看:


