Nginx設置目錄瀏覽並配置驗證

Nginx默認是不容許進行列目錄的,若是須要使某個目錄能夠進行瀏覽,可以下設置:
如: 讓/var/www/soft 這個目錄在瀏覽器中完成列出.

1、設置目錄瀏覽

一、打開/usr/local/nginx/conf/nginx.conf,找到WebServer配置處,加入如下內容:
location /soft/ {
root /var/www/;  此處爲soft的上一級目錄
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}

二、保存退出,重啓nginx服務便可。
[root@localhost Soft]#ps aux | grep -v grep | grep nginx | awk ‘{print $2}’ | xargs kill -9    #結束進程
[root@localhost Soft]#nginx  #啓動進程
訪問你的站的:http://loalhost/soft,就能夠列出目錄了。
可是這樣的話,別人也很容易看到你目錄的內容,下面咱們像Apache那樣爲目錄加個訪問驗證。

2、設置訪問驗證

一、建立類htpasswd文件
[root@localhost Soft]#wget -c http://jafee.net/Soft/InstallPack/htpasswd.sh
[root@localhost Soft]#bash htpasswd.sh
提示輸入用戶名、密碼、及認證文件名,腳本會自動生成認證文件,這裏默認路徑是保存在了/usr/local/nginx/conf 下,若是你的nginx目錄不是這裏,能夠修改htpasswd.sh替換你的nginx目錄。
我這裏是:/usr/local/nginx/conf/test.conf  #記下此路徑

二、爲Nginx添加auth認證配置
location ^~ /soft/
{
auth_basic 「MyPath Authorized」;
auth_basic_user_file  /usr/local/nginx/conf/test.conf;    #這裏寫前面腳本返回的文件路徑;
}
#」MyPath Authorized」爲提示信息,能夠自行修改。

三、修改好配置後,重啓nginx,訪問http://localhost/soft/ 就會提示輸入用戶名和密碼,認證成功後,便可列出目錄。

四、須要注意的是,加上認證以後該目錄下的php文件將不會被解析,會讓你下載,若是要使其可以解析php能夠將上面的配置改成:
location ^~ /soft/ {
location ~ .*\.(php|php5)?$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
auth_basic 「Authorized users only」;
auth_basic_user_file /usr/local/nginx/conf/test.conf ;
}
php


五、檢查修改文件是否成功
html

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.confnginx

修改Nginx的配置文件(nginx.conf)後,想重啓Nginx,能夠經過發送系統信號給Nginx主進程的方式來進行。瀏覽器

重啓以前,要檢查下Nginx配置文件(nginx.conf)語法是否正確,不然Nginx將不會加載新的配置文件。bash

檢查Nginx配置文件是否正確:ide

/usr/local/www/nginx/sbin/nginx  -t  -c網站

/usr/local/www/nginx/conf/nginx.confspa

 

若是配置文件不正確,屏幕將會提示配置文件的第幾行出錯:.net

[emerg]:unknown directive"abc"in usr/local/www/nginx/conf/nginx.conf:55unix

Configuration file/usr/local/www/nginx/conf/nginx.conf test failed

 

若是配置文件正確,屏幕將提示如下兩行信息:

The configuration file/usr/loca/www/nginx/conf/nginx.conf syntax is  ok

Configuration file/usr/local/www/nginx/conf/nginx.conf test is  successful


六、重啓Nginx:

/usr/local/www/nginx/sbin/nginx -s reload

或:kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid`


擴展:網站限制ip訪問 不容許的ip須要添加驗證。

location ^~ /soft/

                        {

                        satisfy any;

                        allow 127.0.0.1;

                        allow 192.168.1.0/24;

                        allow 192.168.0.0/24;

                        #deny all;

                        location ~ .*\.(php|php5)?$

                                {

                                fastcgi_pass unix:/tmp/php-cgi.sock;

                                fastcgi_index index.php;

                                include fastcgi.conf;

                        }

                        auth_basic "Authorized users only";

                        auth_basic_user_file /usr/local/nginx/conf/zabbix_rlmt.conf ;

                        }


轉自 http://www.server110.com/nginx/201309/1627.html  紅色部分與以前的不一樣。

相關文章
相關標籤/搜索