這篇文章介紹怎樣用web服務(wù)器列出指定的目錄和文件,并對指定目錄進行授權(quán)訪問。
使用Nginx列出目錄
準(zhǔn)備工作 - 安裝nginx和創(chuàng)建一些目錄和文件:
$ sudo apt-get install nginx
$ cd /usr/share/nginx
$ mkdir web
$ sudo mkdir directory{1,2,3}
$ sudo touch file{1,2,3}
$ ls
directory1 directory2 directory3 file1 file2 file3
Nginx配置:
$ sudo vim /etc/nginx/conf.d/list.conf
server {
listen 80;
server_name 192.168.1.201;
root /usr/share/nginx/web;
index index.html;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
$ sudo service nginx restart/reload
當(dāng)訪問http://192.168.1.201,屏幕顯示:
現(xiàn)在就可以用web服務(wù)器來共享文件;但前提是根目錄下必須沒有index.html文件。
授權(quán)訪問指定的目錄
有些目錄不想讓所有人看到,只有指定的用戶輸入密碼后才能訪問,例如directory只能由test1訪問:
step1安裝htpasswd
$ sudo apt-get install apache2-utils
step2創(chuàng)建密碼文件
$ sudo htpasswd -c /home/test/.htpasswd test1
New password:
Re-type new password:
Adding password for user test1
step3修改Nginx配置文件
$ sudo vim /etc/nginx/conf.d/list.conf
server {
listen 80;
server_name 192.168.1.201;
root /usr/share/nginx/web;
index index.html;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
location ^~/directory1/ {
auth_basic "input you user name and password";
auth_basic_user_file /home/test/.htpasswd;
}
}
重啟Nginx服務(wù)后,訪問directory1目錄時會提示輸入登入信息: