我们需要准备一台CentOS 7云服务器上,并且安装好Nginx。这篇帮助讲解如何在这台CentOS 7云服务器上,为Nginx设置HTTP授权。
首先安装http-tools软件包。
yum install httpd-tools
创建.htpasswd文件,并按照提示输入两次密码。
htpasswd -c /path/to/directory/.htpasswd username
.htpasswd文件包含了访问指定目录的用户名和密码,其中/path/to/directory即为需要设置HTTP授权的指定目录。至此,我们已成功创建了授权文件,下面只需要让Nginx能够识别到该授权文件即可。
在Nginx的配置文件中增加最后两行,分别用到auth_basic和auth_basic_user_file指令。
server {
listen 80;
server_name example.com www.example.com;
location / {
root /path/to/directory/;
index index.php index.html index.htm;
auth_basic "Restricted area - This system is for the use of authorized users only!";
auth_basic_user_file /path/to/directory/.htpasswd
}
auth_basic指令定义了浏览器访问该目录时的提示文字,auth_basic_user_file指令定义了.htpasswd文件的路径。
最后重启Nginx服务使之生效。
/etc/init.d/nginx restart
测试访问该目录的URL地址,浏览器弹出如下对话框,输入用户名和密码即可正常进入。