我們在網際網路上開放了某個應用,但出於一些安全考慮,我們不想這些應用讓所有人都能訪問,這個時候該怎麼辦呢?下面,讓我們一起來看下apache伺服器是如何解決該問題的。
第一步. 建立認證使用者和密碼
首先,進入到需要認證的應用根目錄下,然後通過htpasswd命令來建立使用者和密碼,如下:
htpasswd -mbc .htpasswd user1 123456htpasswd -mb .htpasswd user2 123456
上面的命令建立了兩個認證使用者,分別是user1和user2,對應的密碼都是123456。
注意兩個命令的不同,第乙個命令中多了乙個c引數,由於是第一次建立,所以需要通過c引數來建立.htpasswd檔案。m引數表示對密碼進行md5加密。最終生成的.htpasswd檔案內容如下:
.htpasswd檔案在後面會被用到。第二步. 建立.htaccess檔案之所以採用.htpasswd格式的密碼檔案,是因為apache伺服器對".ht"開頭的檔案預設不允許外部讀取,安全係數會高一點。
在需要認證的應用根目錄下,建立.htaccess檔案,內容如下:
authname "user authentication"
authtype basic
authuserfile /var/www/html/linux-dash/.htpasswd
require valid-user
引數解釋:第三步. 修改httpd.conf檔案authname:認證描述,填寫的內容會出現在認證視窗的提示資訊中。
authtype:認證型別,在http1.0中,只有一種認證型別:basic。在http1.1中有幾種認證型別,如:md5。
authuserfile
authgroupfile
require:指定哪些使用者或組才能被授權訪問,如:
require user user1 user2 (只有使用者user1和user2可以訪問)
require group managers (只有組managers中成員可以訪問)
require valid-user (在authuserfile指定的檔案中任何使用者都可以訪問)
修改/etc/httpd/conf/httpd.conf配置檔案,將directory標籤中的allowoverride引數值修改為all,如下:第四步. 瀏覽器驗證allowoverride all
修改後的配置表示的含義為:/var/www/html目錄下每個應用的訪問許可權由該目錄下的.htaccess檔案來控制。
儲存後,重啟apache
在瀏覽器位址列中,輸入該應用的訪問url,如果能彈出類似下面的視窗,即表示認證配置ok了:輸入之前配置的使用者名稱和密碼,即可正常訪問了。配置apache密碼認證
apache提供了一系列的認證,授權,訪問控制模組,我們這裡選用最方便的mod auth basic,mod authn file,mod authz user這三個模組實現目錄或檔案需要輸入使用者和密碼認證。1 生成密碼檔案 示例 htpasswd c var www htpasswd cento...
Apache配置與應用
一 apache配置剖析 1 apache連線保持 apache通過設定配置檔案httpd default.conf中相關的連線保持引數來開啟與控制連線 保持功能。keepalive 決定是否開啟連線保持功能,後面接 off 表示關閉,接 on 表示開啟,可以根據 的併發請求量決定是否開啟,即在高併...
Apache配置與應用
一 apache配置剖析 1 apache連線保持 apache通過設定配置檔案httpd default.conf中相關的連線保持引數來開啟與控制連線 保持功能。keepalive 決定是否開啟連線保持功能,後面接 off 表示關閉,接 on 表示開啟,可以根據 的併發請求量決定是否開啟,即在高併...