2012-02-13 72 views
3

我已經給出了Apache在Windows上運行的設置,並且我們有兩個需要使用.htpasswd進行基本認證的文件夾。Apache基本認證僅限於SSL

首先,我測試的認證工作:

AuthUserFile E:/path-to/.htpasswd 
AuthType Basic 
AuthName "Secure area" 
Require valid-user 

這很好地工作,但當然沒有通過SSL發送的憑據。我嘗試使用RewriteRule將任何沒有HTTPS的請求發送到這些文件夾中的HTTPS,並且這需要用戶登錄兩次 - 一次通過HTTP,一次通過HTTPS。

我發現噸的人有這個問題,解決大多數人使用的是這樣的:

SSLOptions +StrictRequire 
SSLRequireSSL 
SSLRequire %{HTTP_HOST} eq "www.domain.com" 
AuthUserFile E:/path-to/.htpasswd 
AuthName "Secure area" 
AuthType basic 
require valid-user 
ErrorDocument 403 https://www.domain.com/secure-area 

所以我要把它放到裏面每兩個安全文件夾的一個htaccess。這需要用戶通過HTTPS登錄一次,但它當然不會將它們發送到他們請求的文件。相反,它將它們發送到文件夾的根目錄。

我們經常將用戶引導到這些目錄內的特定文件,而我試圖執行此操作時找不到任何通過基於HTTPS的基本身份驗證來驗證它們的任何內容。這在Apache上可能嗎?

感謝, 喬納森

回答

-2

如果它的特定文件,你可以在

<files *.php> 
 
    
 
</files>

</pre></code>

或任何包裹,看看是否是有差別的,因爲它會驗證所請求的文件,而比文件所在的目錄?