带来一篇在Nginx用htpasswd对网站举行暗码回护的设置办法
学习linux,就意味着更快的开发效率,等更多关于软件本身或者说操作系统本身的理解。最初的效果就相似(分歧扫瞄器的界面有所分歧):
假如认证失利,就会报HTTP毛病:401AuthorizationRequired。
要完成如许的功效,就必要变动服务器的设置,并设定好用于登录的用户名和暗码。
起首我们必要变动网站的Nginx的server设置,Ubuntu服务器的话这个设置文件一般位于/etc/nginx/sites-enabled/,好比我这里就利用默许的设置文件/etc/nginx/sites-enabled/default来做一个例子:
.代码以下:
server{
server_namewww.fancycedar.info
root/www/fancycedar
#...
location/{
#增加上面两行
auth_basic"Restricted";
auth_basic_user_filehtpasswd;
#...
}
#...
}
接上去必要创立htpasswd文件,这里有一些细节必要注重:
htpasswd的路径
和nginx.conf在统一级目次便可。Ubuntu服务器的话一样平常就在/etc/nginx/上面。
htpasswd的内容
每举动一个用户,格局为username:password。可是要注重,这里的password不是明文,而是将password举行crypt(3)加密后的字符串。
你可使用一段PHP代码来天生htpasswd中的password:
.代码以下:
//暗码明文
$password=somepassword;
//对暗码举行加密
$password=crypt($password,base64_encode($password));
//取得加密后的暗码
echo$password;
然后将字符串写进htpasswd文件中:
.代码以下:
username1:xucqMk13TfooE
username2:YXTfb3xWKOMBM
...
htpasswd的权限
必要变动htpasswd文件的权限,实行以下命令:
.代码以下:
sudochownroot:www-datahtpasswd
sudochmod640htpasswd
AreYouReady?
当下面的筹办事情都做好以后,我们就能够从头载进大概重启Nginx服务器了:
.代码以下:
sudo/etc/init.d/nginxreload
#or
sudo/etc/init.d/nginxrestart
竣工。
P.S.不要健忘你设定的暗码是啥了……
原文链接:http://www.fancycedar.info/2013/06/apache-nginx-htpasswd/
在linux中学习命令的最好办法是学习Shell脚本编程,Shell脚本比起其他语言来学习简单,但是功能却十分强大.通过学习Shell编程,能让你掌握大量的linux命令。 我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。 和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。 Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。 当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。 Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。 Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。 我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。
页:
[1]