仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 595|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 给大家带来Nginx增加htpasswd认证

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:25:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
欢迎大家来到仓酷云论坛!一.需求形貌
Nginx作为webserver的办事。因营业必要在会见网站时,加一层认证信息,以避免公司以外的人会见网站。需求相似于Apache那样为指定的目次增加会见考证,一样平常在Apache下利用htpasswd来增加。这里是为Nginx增加。

二.编写以下步伐
情况:必要撑持perl。(由于用到perl)
vihtpasswd.sh

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
exportPATH


echo"====================================="
echo"#AtoollikehtpasswdforNginx#"
echo"#-----------------------------------#"
echo"#Author:Licesshttp://blog.csdn.net/longxibendi#"
echo"====================================="


#setUserName


username=""
read-p"PleaseinputUserName:"username
if["$username"=""];then
echo"Error:UserNamecantbeNULL!"
exit1
fi
echo"==========================="
echo"UserNamewas:$username"
echo"==========================="


#setpassword


unpassword=""
read-p"PleaseinputthePassword:"unpassword
if["$unpassword"=""];then
echo"Error:PasswordcantbeNULL!"
exit1
fi
echo"==========================="
echo"Passwordwas:$unpassword"
echo"==========================="
password=$(perl-eprintcrypt($ARGV[0],"pwdsalt")$unpassword)


#sethtpasswdfile


htfile=""
read-p"PleaseinputAuthfilename:"htfile
if["$htfile"=""];then
echo"Error:AuthfilenamecantbeNULL!"
exit1
fi
echo"==========================="
echo"AuthFile:/longxibendi/nginx/conf/$htfile"
echo"==========================="


get_char()
{
SAVEDSTTY=`stty-g`
stty-echo
sttycbreak
ddif=/dev/ttybs=1count=12>/dev/null
stty-raw
sttyecho
stty$SAVEDSTTY
}
echo""
echo"PressanykeytoCreat...orPressCtrl+ctocancel"
char=`get_char`


if[!-f/longxibendi/nginx/conf/$htfile.conf];then
make-p/longxibendi/nginx/conf/$htfile.conf
echo"CreateAuthfile......"
cat>/longxibendi/nginx/conf/$htfile.conf<<eof
$username:$password
eof
echo"CreateAuthfilesuccessful,authfilepath:/longxibendi/nginx/conf/$htfile.conf."
else
echo"Filealreadyexists,pleaserunthisscriptagain."
exit1
fi

三.天生用户名暗码信息
bashhtpasswd.sh
按提醒输出用户名、暗码、及认证文件名。剧本会主动天生认证文件。纪录下剧本前往的文件路径。如:/longxibendi/nginx/conf/longxibendi.auth.conf

四.修正Nginx.conf设置文件,为Nginx增加auth认证设置
location^~/longxibendi/
{
auth_basic"Authorizedusersonly";
auth_basic_user_file/longxibendi/nginx/conf/longxibendi.auth.conf;#这里写后面剧本前往的文件路径;
}

大概在location前面增加,好比
location/{

indexindex.phpindex.htmlindex.htm;
if(!-f$request_filename){
rewrite^/(.*)/iphone/index.php?$1last;
}
}

location~.*.(php|php5)${
fastcgi_pass127.0.0.1:8000;
fastcgi_indexindex.php;
includefcgi.conf;
}
auth_basic"Authorizedusersonly";
auth_basic_user_file/longxibendi/nginx/conf/moyi.365.auth.conf;


五.重启Nginx
cdsbin/nginx;./nginx-sreload

六.注重事项
每一个扫瞄器初度会见,输出用户名、暗码。只必要输出一次,以后再翻开扫瞄器就不必要输出了。
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
山那边是海 该用户已被删除
沙发
发表于 2015-1-16 17:48:43 | 只看该作者

给大家带来Nginx增加htpasswd认证

Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。
爱飞 该用户已被删除
板凳
发表于 2015-1-25 16:28:50 | 只看该作者
熟悉操作是日常学习Linux中的三大法宝。以下是作者学习Linux的一些个人经验,供参考:
金色的骷髅 该用户已被删除
地板
发表于 2015-2-3 12:19:24 来自手机 | 只看该作者
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。
分手快乐 该用户已被删除
5#
发表于 2015-2-9 02:07:36 | 只看该作者
说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。?
只想知道 该用户已被删除
6#
 楼主| 发表于 2015-2-26 19:06:29 | 只看该作者
众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。
小女巫 该用户已被删除
7#
发表于 2015-3-8 17:44:50 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
若天明 该用户已被删除
8#
发表于 2015-3-16 17:10:46 | 只看该作者
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
蒙在股里 该用户已被删除
9#
发表于 2015-3-23 03:41:10 | 只看该作者
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 16:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表