nginx 用戶訪問添加密碼;autoindex模塊詳解;傳送client IP
基於用戶的訪問控制
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 //添加的內容是你上面設置的,寫入的格式照抄後面的雙引號的格式
nginx 用戶訪問添加密碼;autoindex模塊詳解;傳送client IP