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的更多相关文章

  1. nginx配置指令auth_basic、auth_basic_user_file及相关知识

    参考链接 https://www.jianshu.com/p/1c0691c9ad3c auth_basic_user_file 所需要的密码,可以通过如下方法生成 1)安装htpasswd (yum ...

  2. Nginx 学习

    1.Nginx编译安装 nginx依赖于pcre库,需要先安装pcre(二进制包,跟正则表达式有关),pcre-devel(头文件) configure  --prefix=/usr/local/ng ...

  3. Nginx+Keepalived主主负载均衡服务器

    Nginx+keepalived主主负载均衡服务器测试实验环境: 主Nginx之一:192.168.11.27主Nginx之二:192.168.11.28Web服务器一:192.168.11.37We ...

  4. ELK+Redis 解析Nginx日志

    一.ELK简介 Elk是指logstash,elasticsearch,kibana三件套,我们一般使用它们做日志分析. ELK工作原理图: 简单来讲ELK具体的工作流程就是客户端的logstash ...

  5. centos7.3给squid搭建代理服务器添加认证nginx

    1先安装 nginx 这里是教程 点击查看 2 然后 使用命令 创建用户 htpasswd -c /etc/nginx/passwd.db baker 输入密码  提示添加完毕 3 查看加密后的用户和 ...

  6. Nginx主主负载均衡架构

    在和一些朋友交流Nginx+Keepalived技术时,我虽然已成功多次实Nginx+Keepaived项目方案,但这些都是用的单主Nginx在工作,从Nginx长期只是处于备份状态,所以我们想将二台 ...

  7. nginx索引目录配置

    为了简单共享文件,有些人使用svn,有些人使用ftp,但是更多得人使用索引(index)功能.apache得索引功能强大,并且也是最常见得,nginx得auto_index实现得目录索引偏少,而且功能 ...

  8. nginx虚拟主机配置实践

    1.配置基于域名的虚拟主机 [root@web01 html]# egrep -v "#|^$" /application/nginx/conf/nginx.conf.defaul ...

  9. nginx典型官方模块解释

    模块名称 作用 语法 默认 配置位置 配置举例 结果验证 备注 1 --with-http_stub_status_module 监控Nginx的服务器连接状态 stub_status   serve ...

随机推荐

  1. 使用C#创建windows服务程序

    创建windows服务项目 一.创建服务 1.文件->新建->项目->windows桌面->windows服务,修改你要的项目名称.我这不改名,仍叫WindowsService ...

  2. 【BZOJ 4151 The Cave】

    Time Limit: 5 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 293  Solved: 144[Submit][Status][Di ...

  3. sass mixin 持续更新

    控制多行显示省略号... //文字溢出省略号@mixin coveText($num:1){ @if $num == 1{ white-space: normal; overflow: hidden; ...

  4. java基础练习 17

    import java.util.Scanner; public class Seventheen { /*企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元 ...

  5. Android 各种功能代码收集

    1.分享图片等文件到单个指定微信好友 /** * 分享信息到朋友 * * @param file * 假如图片的路径为path,那么file = new File(path); */ private ...

  6. Hmailserver搭建邮件服务器

    Hmailserver安装很简单不需要多说,自己去百度 Hmailserver配置: 输入安装时设置的密码登录Hmailserver 添加域名,如:域名是:mail.abc.com这里添加的时候应该填 ...

  7. PHP中利用PHPMailer使用QQ邮箱实现邮件发送

    /** * 下订单发送邮件 * @to 收件人 @title 标题 @content 内容 */ function sendMail($to,$title,$content){ //引入PHPMail ...

  8. AC日记——[HAOI2007]覆盖问题 bzoj 1052

    1052 思路: 二分答案: 二分可能的长度: 然后递归判断长度是否可行: 先求出刚好覆盖所有点的矩形: 可行的第一个正方形在矩形的一个角上: 枚举四个角上的正方形,然后删去点: 删去一个正方形后,递 ...

  9. (3)oracle建用户、建表、权限、命名空间

    一.表空间 创建表空间 create tablespace  ts001  datafile ‘d:\test\a.dbf’ size 20m uniform size 128k; 使用表空间 cre ...

  10. Web常用方法

    1.返回一个json格式报文 /**     * 返回json格式字符串或普通字符串     *      * @param jsonString     */    protected void w ...