nginx上做最基础的http认证

/ Linux_manage / 没有评论 / 785浏览

Install htpasswd

ubuntu

apt-get install apache2-utils -y

centos

yum -y install httpd-tools -y

Create an authenticated user

pass_file 是存储认证的文件 username1 用户名

创建一个新用户,并且删除掉之前的密码存储文件

root@neeq3:/etc/nginx/sites-enabled# htpasswd -c -d /etc/nginx/pass_file  username1
New password:
Re-type new password:
Warning: Password truncated to 8 characters by CRYPT algorithm.
Adding password for user username1

parameter

-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
-n 不更新passwordfile,直接显示密码
-m 使用MD5加密(默认)
-d 使用CRYPT加密(默认)
-p 使用普通文本格式的密码
-s 使用SHA加密
-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
-D 删除指定的用户

nginx setting

我是放在引申的子配置文件里面

···
auth_basic   "Welcome Memect Gitlab";
auth_basic_user_file /etc/nginx/pass_file;     #这里放的是认证文件位置
···

Reload configuration files

/etc/init.d/nginx reload

Demo

Other

浏览器中使用 直接在浏览器中输入地址, 会弹出用户密码输入框, 输入即可访问

wget 获取数据

wget wget --http-user=username1 --http-passwd=123456 http://xxxx.com/xxx.zip  

curl 获取数据

curl -u username1:123456 -O http://xxxxx.com/xxx.zip