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