Apache-2.2
Apache htaccess passwd - 忽略正確的登錄
我想用密碼保護一個目錄。我在 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 能夠訪問它,然後登錄按預期工作。