有些情况下Nginx服务器下面的东西是不能被其他用户随意访问的,所以一般的手段是对该目录进行加密,需要指定拥有密码的用户使用密码访问。
Nginx配置加密目录
首先配置加密文件
yum -y install httpd-tools
mkdir -p /user/dir-pasword/
htpasswd -c /user/dir-password/.auth_password user1
Password:123456
配置HTML文件
mkdir -p /www/password.nginx.test/
nano /www/password.nginx.test/index.html
<html>
<body><p>Password Test</p></body>
</html>
配置Nginx网站配置文件
server {
listen 80;
#如果需要配置SSL下面自行配置SSL,这里不做示范
#本次实验可以在之前的配置文件中间添加使用,也可以自己新建一个站点,新建站点需要添加hosts文件
server_name password.nginx.test;
location /password {
#这一行引号内的可以自定义,稍后会演示这个的用途
auth_basic "User Login";
auth_basic_user_file /user/dir-password/.auth_password;
#如果上方的location后面是一个"/"那么填写root或者alias都没有问题,如果上面的是/password,那么这个访问的时候查找的是/www/password.nginx.test/pasword/index.html,而不是直接找对应的目录
alias /www/password.nginx.test/;
index index.html index.htm;
}
}
重启Nginx服务,curl http://password.nginx.test/password
提示401被加密,浏览器访问该页面,看到设置提示User Login
登录后查看页面
评论