|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
学习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命令。 |
|