nginx 用户访问添加密码;autoindex模块详解;传送client IP

nginx

基于用户的访问控制

htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。

1.建立口令文件——创建密码文件

一般口令文件最好创建在 /usr/local/nginx/ 下,这样是为了方便管理。下面是命令:

mkdir /usr/local/nginx

htpasswd -cm /usr//local/nginx/passwd  user01      //-c:创建一个加密文件;

htpasswd -m /usr/local/nginx/passwd user20    //-m:默认采用MD5算法对密码进行加密

cat /usr/local/nginx/passwd           //查看生成的加密密码

user01:$apr1$Cw6eF/..$MNBh6rvkvsfH9gDZ/kEhg/

然后再nginx的http上下文内的    server的上下文内的   location上下文内添加两行:

auth_basic "nginx access test!";            //这样没实质性作用只是提示

auth_basic_user_file /usr/local/nginx/passwd;    //这个才是

htpasswd命令的使用还有很多种姿势下面是姿势大全!!!

http://man.linuxde.net/htpasswd

autoindex模块

autoindex on | off              //,打开或关闭目录浏览功能

目前的版本默认off(关闭)

location / {

autoindex on;

}

关闭此模式能防止网页不存在不会显示目录

on(打开)的话,如果url下没有文件,就能看见目录,这是很危险的事情,别人会在你的目录下乱跑!!!!

但是一般打开都是用作Downloads下载页面

Nginx默认是不允许列出整个目录的。如需此功能,打开nginx.conf文件或你要启用目录浏览虚拟主机的配置文件,在server或location 段里添加上autoindex on;来启用目录流量,下面会分情况进行说明。

另外Nginx的目录流量有两个比较有用的参数,可以根据自己的需求添加:

autoindex_exact_size off;

默认为on,显示出文件的确切大小,单位是bytes。

改为off后,显示出文件的大概大小,单位是kB或者MB或者GB

autoindex_localtime on;

默认为off,显示的文件时间为GMT时间。

改为on后,显示的文件时间为文件的服务器时间

1、整个虚拟主机开启目录流量

在server段添加

location / {

autoindex on;

autoindex_localtime on; #之类的参数写这里

}

2、单独目录开启目录流量

2.1:直接二级目录开启目录流量

location /down/ {

autoindex on;

}

2.2:虚拟目录开启目录流量

location /down/ {

alias /home/wwwroot/lnmp/test/;

autoindex on;

}

详细参照:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html

如果想希望做出漂亮的目录列表,支持header,footer则可以安装三方插件:

http://wiki.nginx.org/NginxNgxFancyIndex

重启nginx,使其生效。

HttpAutoindex模块   nginx中文官方文档

链接:https://www.nginx.cn/doc/standard/httpautoindex.html

传送client IP

共两步

(1)proxy_set_header X-Real-IP $remote_addr        在中间件nginx,配置文件(/etc/nginx/nginx.conf)或者/etc/nginx/conf,d/DIY.conf          文件内添加

(2)有后端服务器上配置:LogFormat "%{X-Real-IP}i ......

vim  /etc/httpd/conf/httpd.conf      //添加的内容是你上面设置的,写入的格式照抄后面的双引号的格式

原文地址:http://blog.51cto.com/13590999/2094871

时间: 2024-11-07 16:46:09

nginx 用户访问添加密码;autoindex模块详解;传送client IP的相关文章

nginx的配置及模块详解

nginx: nginx是俄罗斯软件工程师Igor Sysoev开发的免费开源web服务器软件,nginx采用了模块化.事件驱动.异步.单线程及非阻塞的架构,并大量采用了多路复用及事件通知机制来实现高并发和高性能,解决C10K的问题,主要功能就是提供http和反向代理服务,以及邮件服务及反向代理等,并且具有多种web服务器功能特性:负载均衡,缓存,访问控制,带宽控制,以及高效整合各种应用的能力. 在nginx中,连接请求由为数不多的几个仅包含一个线程的进程worker以高效的回环(run-loo

nginx的gzip模块详解以及配置

文章来源运维公会:nginx的gzip模块详解以及配置 1.gzip模块作用gzip这个模块无论在测试环境还是生产环境都是必须要开启,这个模块能高效的将页面的内容,无论是html或者css.js亦或是图片等都可以进行压缩,节省了带宽资源,也提高了网站的加载速度,给浏览者带来更优质的服务. 2.启用gzip只要在nginx的配置文件nginx.conf中去配置.在http{gzip on;gzip_min_length 1k;gzip_buffers 4 32k;gzip_http_version

Ansible安装部署及常用模块详解

Ansible命令使用 Ansible语法使用ansible <pattern_goes_here> -m <module_name> -a <arguments> -m NAME,–module-name=NAME:指定执行使用的模块 -u USERNAME,–user=USERNAME:指定远程主机以USERNAME运行命令 -s,–sudo:相当于Linux系统下的sudo命令 -USUDO_USERNAME,–sudo-user=SUDO_USERNAME:使用

Nginx知多少系列之(三)配置文件详解

原文:Nginx知多少系列之(三)配置文件详解 目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.Linux下.NET Core项目Nginx+Keepalived高可用(主从模式) 8.Linux下.NET Core项目Nginx+Keepalived高可用(双主模式) 9.Linux下.NET Core项目LVS+Keepalived+Nginx高可用集群 10.构建静态服务器 11.日志

CSS3各个模块详解

一, CSS3 盒子 阴影 属性 box- shadow 也是 CSS3 新增 的 一个 重要 属性, 用来 定义 元素 的 盒子 阴影. inset: 阴影 类型, 可选 值. 如果不 设置, 其 默认 的 投影 方式 是 外 阴影: 如果 取其 唯一 值" inset", 就是 给 元素 设置 内 阴影. x- offset: 阴影水平偏移量, 其值可以是正负值. 如果取正值, 则 阴影 在 元素 的 右边, 反之 取 负值, 阴影 在 元素 的 左边. y- offset: 阴影

超详细Ansible安装及模块详解

简介:ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信; (2).host inventory:指定操作的主机,

ansible常用模块详解

ansible常用模块详解: ansible <host-pattern> [-m module_name] [-a args] [options] #ansible命令格式  指定主机组或ip地址  指定调用模块   传递给模块的参数   ansible-doc -l #列出可用模块 ansible-doc -s model_name #查看指定模块详细用法 command:ansible默认模块,对指定主机执行命令,不能理解特殊字符 例:ansible web -a 'date' #对we

Ansible 常用模块详解(3)

title: Ansible 常用模块详解(3) date: 2018-12-01 15:22:11 tags: Ansible categories: Ansible copyright: true --- Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能,ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是an

Spring Boot源码中模块详解

Spring Boot源码中模块详解 一.源码 spring boot2.1版本源码地址:https://github.com/spring-projects/spring-boot/tree/2.1.x 二.模块 Spring Boot 包含许多模块,以下是一些简单的概述: 1,spring-boot 为Spring Boot其他部分功能提供主要的lib包,其中包含:(1)SpringApplication类提供了静态便利的方法使编写独立的SpringApplication更加容易.它唯一的任