Nginx auto_index和auth_basic
Nginx auto_index和auth_basic
1、nginx auto_index
nginx站点目录浏览功能,默认情况下为关闭
启用或禁用目录列表输出
开启这个功能的前提是站点目录下没有首页index.html
官方说明:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html
语法Syntax: autoindex on | off;
默认值Default: autoindex off;
使用字段Context: http(全局选项), server(单个网站选项), location(针对单个location)
使用范围:分享文件,搭建yum源等
1.1 在http下开启
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
autoindex on;
server {
省略其他内容
1.2 在location下开启
location / {
autoindex on;
省略其他内容
}
1.3 在server下开启
server {
listen 80;
server_name localhost;
autoindex on;
location
省略其他内容
开启目录浏览功能后,即可通过浏览器访问到站点并浏览目录,也可针对于某一目录

2、nginx auth_basic
有时,我们需要为网站设置访问账号和密码权限,这样操作后,只有拥有账号密码的用户才能访问网站内容,这种使用账号密码才可以访问网站的功能主要应用在企业内部人员访问的地址上,例如:企业网站后台,MySQL客户端phpMyAdmin、企业内部的CRM、WIKI网站平台等。
官方说明:http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
2.1 HTTP基本认证协议启用用户名和密码验证
语法Syntax: auth_basic string(任意字符串) | off(关闭);
默认值Default: auth_basic off;
使用字段Context: http, server, location, limit_except
用法
修改配置文件,指定后面生成的密码文件保存路径(相对路径或绝对路径)
location / {
auth_basic "closed site";
auth_basic_user_file conf/htpasswd;
}
2.2 生成密码文件的方法
2.2.1 通过软件httpd-tools生成
安装生成验证密码文件的软件
yum install httpd-tools –y
查看安装httpd-tools后可用的二进制命令
rpm -ql httpd-tools
[root@Web01 conf]# rpm -ql httpd-tools
/usr/bin/ab
/usr/bin/htdbm
/usr/bin/htdigest
/usr/bin/htpasswd
省略输出
查看htpasswd用法
[root@Web01 conf]# htpasswd --help
Usage:
htpasswd [-cmdpsD] passwordfile username
htpasswd -b[cmdpsD] passwordfile username password
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
-c Create a new file.
-n Don't update file; display results on stdout.
-m Force MD5 encryption of the password.
-d Force CRYPT encryption of the password (default).
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it.
-D Delete the specified user.
On Windows, NetWare and TPF systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.
使用第二种方法非交互式一条命令生成密码文件
[root@Web01 conf]# htpasswd -bc /application/nginx/conf/htpasswd test 123456
Adding password for user test
[root@Web01 conf]# cat /application/nginx/conf/htpasswd
test:Hf2ctuRKkWaig
2.2.2 在线生成
利用网站在线生成
链接: http://tool.oschina.net/htpasswd

输入用户名和密码,选择适合当前web服务器的加密算法,然后把生成的结果手动添加到密码文件中

2.3 修改配置文件并生效
[root@Web01 conf]# vim nginx.conf
location / {
root html;
index index.html index.htm;
auth_basic "test";
auth_basic_user_file /application/nginx/conf/htpasswd;
}
省略其他内容
[root@Web01 conf]# nginx -t #检查语法
nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful
[root@Web01 conf]# nginx -s reload #平滑重启
清除浏览器缓存,访问站点测试,输入用户名密码后能进行访问

博主原创文章,转载请务必注明出处
Nginx auto_index和auth_basic的更多相关文章
- nginx配置指令auth_basic、auth_basic_user_file及相关知识
参考链接 https://www.jianshu.com/p/1c0691c9ad3c auth_basic_user_file 所需要的密码,可以通过如下方法生成 1)安装htpasswd (yum ...
- Nginx 学习
1.Nginx编译安装 nginx依赖于pcre库,需要先安装pcre(二进制包,跟正则表达式有关),pcre-devel(头文件) configure --prefix=/usr/local/ng ...
- Nginx+Keepalived主主负载均衡服务器
Nginx+keepalived主主负载均衡服务器测试实验环境: 主Nginx之一:192.168.11.27主Nginx之二:192.168.11.28Web服务器一:192.168.11.37We ...
- ELK+Redis 解析Nginx日志
一.ELK简介 Elk是指logstash,elasticsearch,kibana三件套,我们一般使用它们做日志分析. ELK工作原理图: 简单来讲ELK具体的工作流程就是客户端的logstash ...
- centos7.3给squid搭建代理服务器添加认证nginx
1先安装 nginx 这里是教程 点击查看 2 然后 使用命令 创建用户 htpasswd -c /etc/nginx/passwd.db baker 输入密码 提示添加完毕 3 查看加密后的用户和 ...
- Nginx主主负载均衡架构
在和一些朋友交流Nginx+Keepalived技术时,我虽然已成功多次实Nginx+Keepaived项目方案,但这些都是用的单主Nginx在工作,从Nginx长期只是处于备份状态,所以我们想将二台 ...
- nginx索引目录配置
为了简单共享文件,有些人使用svn,有些人使用ftp,但是更多得人使用索引(index)功能.apache得索引功能强大,并且也是最常见得,nginx得auto_index实现得目录索引偏少,而且功能 ...
- nginx虚拟主机配置实践
1.配置基于域名的虚拟主机 [root@web01 html]# egrep -v "#|^$" /application/nginx/conf/nginx.conf.defaul ...
- nginx典型官方模块解释
模块名称 作用 语法 默认 配置位置 配置举例 结果验证 备注 1 --with-http_stub_status_module 监控Nginx的服务器连接状态 stub_status serve ...
随机推荐
- java中的UDP总结
先说一下关于InetAddress类,用一个小例子: import java.net.InetAddress; import java.net.UnknownHostException; public ...
- Avito Cool Challenge 2018 :E. Missing Numbers
E. Missing Numbers 题目链接:https://codeforces.com/contest/1081/problem/E 题意: 现在有n个数(n为偶数),但只给出a2,a4.... ...
- .h 和 .cpp 切换快捷键设置(转)
原文转自 https://blog.csdn.net/t163361/article/details/51859274 打开VS后依次选择如下 工具-> 选项-> 环境-> 键盘-& ...
- pageHelper插件+传统分页处理
为什么要使用pageHelper:https://www.cnblogs.com/ljdblog/p/6725094.html 配置文件详解:https://www.cnblogs.com/cksvs ...
- springBoot Feign
1.引入依赖包 <!-- 引入关于 eureka-server的依赖 --> <dependency> <groupId>org.springframework.c ...
- Logstash 最佳实践
https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/index.html
- 关于ScrollView嵌套RecyclerView出现item显示不全的问题
最近使用ScrollView时,发现里面嵌套Listview显示不全,试过重写Listview的onMeasure(),并没有起作用.然后将ListView换成RecyclerView后,高度还是显示 ...
- JavaScript基础之原型对象和原型链
原型对象 原型对象简单来说就是函数的原型所指向的对象.前面说原型的时候,说了Object.prototype所指对象就是Object(函数)的原型对象.在每个函数的原型对象中,默认会有construc ...
- (26)C#WebService
一.创建webservice 二.发布webservice 1.正式发布 (1)配置IIS 自己在局域网用的话,只需1,2,3 三步 1:网站的名称,将来IIS里有多个网站时可以方便区分 2:文件的本 ...
- flow JavaScript 静态类型检查工具
内置类型 flow 内置类型有 boolean, number, string, null, void, any, mixed, literal type. 其中 boolean, number, s ...