Nginx配置用户认证

阿豪 20-02-10 522阅读

温馨提示:这篇文章已超过718天没有更新,请注意相关的内容是否还可用!

# vi /usr/local/nginx/conf/vhost/test.com.conf //写入如下内容

server {  
listen 80;  
server_name test.com;  
index index.html index.htm index.php;  
root /data/wwwroot/test.com;  
location  /{  
auth_basic  "Auth";  
auth_basic_user_file   /usr/local/nginx/conf/htpasswd;  
}  
}

因为做用户认证需要用到htpasswd命令,所以需要安装下apache

# yum install -y httpd

默认安装在/usr/bin目录下

# htpasswd -c /usr/local/nginx/conf/htpasswd ahao  //生成一个新的密码文件并且写入用户

# htpasswd  /usr/local/nginx/conf/htpasswd ahao   //生成一个新的用户写入指定的密码文件里面

# /usr/local/nginx/sbin/nginx -t

# /usr/local/nginx/sbin/nginx -s reload

mkdir -p /data/wwwroot/test.com             

# touch /data/wwwroot/test.com/index.html

测试curl -uahao:ahao -x127.0.0.1:80 test.com -I

image.png

记得设置个默认页面不然会出现403错误

还有密码文件和你生成的密码文件要在同一个目录不然也会403

#//匹配全局 
location  /{   
auth_basic  "Auth";   
auth_basic_user_file /usr/local/nginx/conf/htpasswd;   
}  
# //匹配以admin结尾的目录  
location  /admin/  
{  
auth_basic  "Auth";  
auth_basic_user_file   /usr/local/nginx/conf/htpasswd;
  }
#贪婪匹配以admin.php开头的文件
location  ~ admin.php   
  {  
  auth_basic   "Auth";  
  auth_basic_user_file  /usr/local/nginx/conf/htpasswd;  
  }


文章版权声明:除非注明,否则均为阿豪运维笔记原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

Linux怎么增加修改磁盘分区Inodes的大小

bash: pip3: command not found

killall出现-bash: killall: command not found

Centos系统云服务器如何查看使用的是什么虚拟化技术

VMware虚拟机安装Ubuntu Server 20.04.2 LTS

CentOS8系统忘记root密码如何修改

cmake编译出错:No CMAKE_CXX_COMPILER could be found.

error electron@11.4.3 postinstall: `node install.js`