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