小知识:在Nginx用htpasswd对网站进行密码保护的设置方法

最后的效果就类似(不同浏览器的界面有所不同):

%小知识:在Nginx用htpasswd对网站进行密码保护的设置方法-猿站网-插图

如果认证失败,就会报HTTP错误:401 Authorization Required。  要实现这样的功能,就需要更改服务器的配置,并设定好用于登录的用户名和密码。  首先我们需要更改网站的Nginx的server配置,Ubuntu服务器的话这个配置文件通常位于/etc/nginx/sites-enabled/,比如我这里就使用默认的配置文件/etc/nginx/sites-enabled/default来做一个例子: 

复制代码代码如下:

server

server_name www.fancycedar.info 

root /www/fancycedar 

# … 

location / { 

# 添加下面两行 

auth_basic “Restricted”; 

auth_basic_user_file htpasswd; 

# … 

# … 

接下来需要创建htpasswd文件,这里有一些细节需要注意:  htpasswd的路径  和nginx.conf在同一级目录即可。Ubuntu服务器的话一般就在/etc/nginx/下面。  htpasswd的内容 每一行为一个用户,格式为username:password。但是要注意,这里的password不是明文,而是将password进行crypt(3)加密后的字符串。  你可以使用一段PHP代码来生成htpasswd中的password: 

复制代码代码如下:

// 密码明文 

$password = some password; 

// 对密码进行加密 

$password = crypt($password, base64_encode($password)); 

// 获得加密后的密码 

echo $password; 

然后将字符串写入htpasswd文件中: 

复制代码代码如下:

username1:xucqMk13TfooE 

username2:YXTfb3xWKOMBM 

… 

htpasswd的权限  需要更改htpasswd文件的权限,执行如下命令: 

复制代码代码如下:

sudo chown root:www-data htpasswd 

sudo chmod 640 htpasswd 

Are You Ready?  当上面的准备工作都做好之后,我们就可以重新载入或者重启Nginx服务器了: 

复制代码代码如下:

sudo /etc/init.d/nginx reload 

# or 

sudo /etc/init.d/nginx restart 

完工。 

%小知识:在Nginx用htpasswd对网站进行密码保护的设置方法-1猿站网-插图

P.S. 不要忘记你设定的密码是啥了……  原文链接:http://www.fancycedar.info/2013/06/apache-nginx-htpasswd/

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux流行病毒家族&清除方法集锦

2023-5-11 3:17:25

建站知识

小知识:怎样在Linux下用SSH搭建个人文件服务器

2023-5-11 3:25:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索