1. 程式人生 > >Nginx Http認證 實現訪問網站或目錄密碼認證保護

Nginx Http認證 實現訪問網站或目錄密碼認證保護

對於實現訪問網站或目錄密碼認證保護,nginx的HTTP基本認證模組(HTTP Auth Basic)可以實現. 這個模組提供基於使用者名稱與密碼的驗證來保護你的站點或站點的一部分。 step1: 開啟conf/nginx.conf檔案,新增下面的指令: location  /  {   auth_basic            "Restricted";   auth_basic_user_file  webpass; } 解釋: auth_basic 指令包含一個具有測試使用者名稱和密碼的HTTP基本認證,指定的引數將用於認證域。如果將值設定為“off”則忽略下級指令繼承的動作。 auth_basic_user_file 指令為驗證域指定了密碼檔案,0.6.7版本以後這裡指定的檔案是nginx.conf所在目錄的相對路徑,而不是–prefix指定的路徑。 “Restricted" 單詞將會出現在第一次訪問Nginx站點的彈出框內。 webpass是一個檔案,位於conf目錄下。注意如果你 設定的是 conf/webpass,這個webpass檔案應該在conf/conf/目錄下。 或者避免麻煩,直接用絕對路徑。 step2:
建立pwd檔案。新增你的使用者名稱和密碼(明文) 這個密碼會在第三步被替換 這個檔案格式如下: user:770328 user2:pass2 user3:pass3 step3: 安裝Apache2 工具。 [[email protected] /]# apt-get install apache2-utils step4: 使用Apache2工具修改密碼。 [[email protected] /]# htpasswd /usr/nginx/conf/webpass user   你會被要求輸入兩次密碼。 現在pwd檔案內容改變了:
[[email protected]
/]# vim /usr/nginx/conf/webpass user:$apr1$I2FIVtPG$I51oSU4eatH.tJdnmxG6K0   ———————————————————- 如果沒有apache的htpasswd程式,可以使用pl程式生成: 程式地址:http://trac.edgewall.org/export/10890/trunk/contrib/htpasswd.py 使用方法: ./htpasswd.py -b -c webpass admin 123456  webpass為密碼檔案,admin是使用者名稱,123456是密碼. step5: 重新啟動Nginx服務。 [[email protected]
/]# service nginx restart step6: 登入你的站點。 例子: 

如果是為了給網站加上認證,可以直接將認證語句寫在nginx的配置server段中。

如果是為了給目錄加上認證,就需要寫成目錄形式了。同時,還要在目錄中加上php的執行,否則php就會被下載而不執行了。

例如:基於整個網站的認證,auth_basic在php解釋之前。

server  
{  
    listen 80;  
    server_name www.Rekfan.com Rekfan.com;  
    root /www/Rekfan.com;  
    index index.html index.htm index.php;  
    auth_basic "input you user name and password";  
    auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;  

    location ~ .php$  
    {  
        fastcgi_pass 127.0.0.1:9000;  
        fastcgi_index index.php;  
        include fastcgi_params;  
    }  
    location ~ /.ht  
    {  
        deny all;  
    }  
    access_log /logs/Rekfan.com_access.log main;  

針對目錄的認證,在一個單獨的location中,並且在該location中巢狀一個解釋php的location,否則php檔案不會執行並且會被下載。auth_basic在巢狀的location之後。

server  
{  
    listen 80;  
    server_name www.rekfan.com Rekfan.com;  
    root /www/Rekfan.com;  
    index index.html index.htm index.php;  
    location ~ ^/admin/.*  
    {  
    location ~ .php$  
    {  
        fastcgi_pass 127.0.0.1:9000;  
        fastcgi_index index.php;  
        include fastcgi_params;  
    }  
    auth_basic "auth";  
    auth_basic_user_file /usr/local/nginx/conf/vhost/auth/admin.pass;  

    }  
    location ~ .php$  
    {  
        fastcgi_pass 127.0.0.1:9000;  
        fastcgi_index index.php;  
        include fastcgi_params;  
    }  
    location ~ /.ht  
    {  
        deny all;  
    }  
    access_log /logs/Rekfan.com_access.log main;  

這裡有一個細節,就是location ~ ^/admin/.* {…} 保護admin目錄下的所有檔案。如果你只設了/admin/ 那麼直接輸入/admin/index.php還是可以訪問並且執行的。 ^/admin/.* 意為保護該目錄下所有檔案。當然,只需要一次認證。並不會每次請求或每請求一個檔案都要認證一下。

相關推薦

Nginx Http認證 實現訪問網站目錄密碼認證保護

對於實現訪問網站或目錄密碼認證保護,nginx的HTTP基本認證模組(HTTP Auth Basic)可以實現. 這個模組提供基於使用者名稱與密碼的驗證來保護你的站點或站點的一部分。 step1: 開啟conf/nginx.conf檔案,新增下面的指令: locati

nginx實現訪問網站目錄密碼認證保護

以我們做一個簡單的後臺管理為例, 地址:http://xxxx/admin/*, 對admin 下面的檔案進行許可權管理; 1. 進入ngnix配置的地址,以我的ubuntu為例;  cd /etc/ngnix  2. 使用命令生成passfile 檔案: htpasswd -c -d /etc/nginx

nginx正向代理實現受限網站訪問

反向代理服務器 bin 不能 blog 轉發 http 當我 resolve 操作 項目背景:公司商務同事需要操作合作方的後臺,但是這個後臺做了限制(安全考慮只對指定IP放行),剛好公司是adsl撥號,經常更換IP 需求:讓商務同事不要經常給IP到合作方去添加白名單 於是想

Centos7.4搭建Nginx服務器實現訪問狀態統計(內附源碼包)

nginx源碼包 net sysconf wall sys centos7.4 9.4 host name 動態 Nginx簡介 Nginx是一個網站架設軟件,與Apache一樣可完成網站架設。由俄羅斯程序設計師伊戈爾·賽索耶夫開發。目前新浪、網易、騰訊、Purk等都在使用

wget下載整個網站目錄

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

apache環境下禁止某資料夾內執行PHP指令碼、禁止訪問檔案目錄執行許可權的設定方法

首先我們來看兩段對上傳目錄設定無許可權的列子,配置如下: <Directory"要去掉PHP執行許可權的目錄路徑,如/upload"> ErrorDocument 404 /404/404.html ErrorDocument 403 /404/403.htm

F盤無法訪問檔案目錄損壞且無法讀取,裡面的檔案如何找回

    檔案或目錄損壞且無法讀取說明這個盤的檔案系統結構損壞了。在平時如果資料不重要,那麼可以直接格式化就能用了。但是有的時候裡面的資料很重要,那麼就必須先恢復出資料再格式化。具體恢復方法可以看正文了解(不格式化的恢復方

訪問網站時需要密碼

問題描述:本地iis部署網站後,訪問此網站是,彈出對話方塊,需要輸入使用者名稱密碼。      原因:共同開發時,把網站專案目錄下的某幾個檔案共享,此時如果有其他人修改頁面。在共享的時候設定資料夾屬性--->安全的時候添加了guest使用者。問題解決辦法:刪除此資料夾安

Http authorization 實現簡單的網頁使用者密碼驗證

最近想在網頁加上簡單的使用者名稱驗證機制,因為之前有用過新浪雲的http authorization 驗證方式,作為單網頁的驗證自然再合適不過。 其實http的使用者驗證方式很簡單,通過判斷$_SER

Android實現動態顯示隱藏密碼輸入框的內容

本文例項展示了Android實現動態顯示或隱藏密碼輸入框內容的方法,分享給大家供大家參考之用。具體方法如下: 該功能可通過設定EditText的setTransformationMethod()方法來實現隱藏密碼或者顯示密碼。 示例程式碼如下: p

Mac與Linux 實現nginx的安裝 與 訪問虛擬機器裡的nginx 實現的反向代理網站及檔案目錄

一             現在主要實現的是 nginx   反向代理功能,      首先 , 先在虛擬機器裡的系統裝 nginx  Note:我用的是Cent

解決nginx發布網站目錄訪問

ges php5 重啟 otto 訪問 ast con start img 解決nginx發布網站跨目錄訪問(thinkphp5+lnmp) 到:usr/local/nginx/conf/vim fastcgi.cof 把最後一行加上井號#註釋掉保存重啟 restart

部署Nginx網站服務實現訪問狀態統計以及訪問控制功能

軟件包 檢查 web 進程 ext control kcon error .org Nginx專為性能優化而開發,最知名的優點是它的穩定性和低系統資源消耗,以及對HTTP並發連接的高處理能力,單個物理服務器可支持30000-50000個並發請求。 Nginx的安裝文件可以從

啟動Nginx目錄瀏覽功能及 讓使用者通過使用者名稱密碼認證訪問web站點

[[email protected] extra]# cat w.conf server { listen 80; server_name IP地址; location / { root html/bbs; #資源存放站點 autoindex on; #開啟目錄瀏覽功能 autoindex_

【aspgreener的專欄】人生的自由 本人做的小站【小事一籮筐】歡迎訪問 http://www.xiaoshiyiluokuang.com http://xsylk.cn wap網站全新改版,請輸入http://wap.xsylk.cn訪問

人生的自由 本人做的小站【小事一籮筐】歡迎訪問 http://www.xiaoshiyiluokuang.com 或http://xsylk.cn wap網站全新改版,請輸入http://wap.xs...

nginx禁止某個IP某個IP段訪問網站

我們經常會需要把某個IP禁止不讓訪問我們的網站,下面我來給大家介紹在nginx中怎麼實現禁止某個IP或某個IP段訪問網站吧,有需要了解的朋友可參考禁止單個IP的寫法:程式碼如下deny x.x.x.x;禁止IP段的寫法:程式碼如下deny 10.0.0.0/24;也可以實現

Chrome瀏覽器 + SwitchyOmega外掛 + SecureCRT 實現牆外內網http訪問

使用情景: 有海外主機,想利用該主機訪問牆外網站的;機房只提供一個ssh入口,想訪問內網中的其他機器的(比如Tomcat admin頁面); 工具: Chrome瀏覽器SwitchyOmega外掛

Nginx配置SSL證書實現訪問HTTPS網站

一、什麼是 SSL 證書,什麼是 HTTPS SSL 證書是一種數字證書,它使用 Secure Socket Layer 協議在瀏覽器和 Web伺服器之間建立一條安全通道,從而實現: 1、資料資訊在客戶端和伺服器之間的加密傳輸,保證雙方傳遞資訊的安全性,不可被第三方竊

火狐瀏覽器訪問網站出現 HTTP Error 400. The request is badly formed.錯誤,怎麽解決

def dbm cot row ufw glm rpi peb orb   今天在訪問某個網站時,出現一個“HTTP Error 400. The request is badly formed.”錯誤, 那麽應該如何解決呢? 1、問題描述:   用火狐瀏覽網站出現“”H

基於DNS實現智能化訪問網站

智能dns 智能DNS比傳統的DNS具有更高的智能選擇化,可以根據不同的ip地址來判斷出此ip來自哪個區域,從而達到根據ip可以訪問到本區域的服務器,這樣的好處就是減少網絡延遲以及提升訪問速度。不過,現在一般中小型企業在沒有太大能力的情況下都會把DNS托付給第三方給予管理(CDN: Content Del