Apache-2.2

Apache htaccess passwd - 忽略正確的登錄

  • October 15, 2011

我想用密碼保護一個目錄。我在 Centos 上執行帶有 cPanel 的 Apache 2。

為了這篇文章,目錄是/home/user/my-secret-dir

我使用 cPanel 的“密碼保護目錄”來創建登錄詳細資訊,並將其儲存在一個新/home/user/.htpasswds/my-secret-dir/passwd文件中。

它沒有做的是在任何地方創建 AuthType 配置 - 我可以在沒有提示的情況下簡單地訪問目錄(它只是有一個通用的 index.html,而我得到這個工作)。

於是我創建了/home/user/my-secret-dir/.htaccess自己,內容如下:

AuthType Basic
AuthName "My Secret Directory"
AuthUserFile "/home/user/.htpasswds/my-secret-dir/passwd"
require valid-user

現在這會導致瀏覽器提示輸入登錄詳細資訊,但是在輸入正確的使用者名和密碼後,它的行為就好像它們錯誤並重新提示輸入詳細資訊。

我輸入的細節絕對正確。

我之前在同一台伺服器上設置了一個受密碼保護的目錄(儘管針對不同的帳戶/域)並且工作正常(並且仍然有效),我已經比較了兩者並且看不到任何顯著差異。

任何想法可能導致持續提示,以及如何解決它?

這是一個權限問題 - Apache 無法訪問 auth 文件,因此將所有內容視為無效。

檢查日誌顯示:

(13)權限被拒絕:無法打開密碼文件:/home/user/.htpasswds/my-secret-dir/passwd

原來該/home/user/.htpasswds目錄之前已經存在,並且對其具有不正確的權限。

我更新了權限,以便 Apache 能夠訪問它,然後登錄按預期工作。

引用自:https://serverfault.com/questions/321774