2013-02-08 51 views
1

我試圖從Apache 2.2遷移到2.4。我遇到的一個問題是讓我的一個.htaccess文件像2.2一樣工作。基本上我想要做的就是讓所有的服務器無需密碼即可訪問網站,然後當有人不在我的網絡或我們的桌面上的任何人嘗試訪問它時需要一個簡單的密碼。以下陳述來自2.2並按預期工作。拒絕語句是允許來自組的IP內的一個子集。 Apache 2.4需要語句不按預期解析

AuthType Basic 
AuthName "Dev password" 
AuthUserFile /path/.htpass 
Require user devuser

order allow,deny

allow from xxx.xxx.xx.x/24 xxx.xxx.xx.x/16 xxx.xxx.xxx.x/24 deny from xxx.xxx.xxx.xxx/25

Satisfy any

然而,這就是我想我會做同樣的事情在2.4,但我不能得到它的工作:

 
RequireAny 
     RequireAll 
      RequireAny 
        Require ip 10.0 
        Require ip 192.168.0 
      /RequireAny 
      RequireNone
Require ip 10.0.10 Require ip 192.168.0.128/25 /RequireNone /RequireAll

AuthType Basic AuthName "Dev password" AuthUserFile /path/.htpass Require user dev

/RequireAny

有人能告訴我,我做錯了什麼?它不要求從我的桌面進行身份驗證。

對不起,它不顯示我的標籤requireall和requireany。所以我沒有標記它們。

+0

根據文檔,在塊中不能有否定的Require指令。你需要引入一個塊。 – julp 2013-02-08 17:59:29

+0

我已經嘗試了很多不同的組合,但沒有運氣。我修改了我原來的陳述,以顯示我最近的失敗嘗試。 – user2055277 2013-03-25 10:17:33

回答

0

你似乎做得對。將LogLevel設置爲authz:

LogLevel authz_core:trace3 

並查看每次點擊記錄的內容。例如,它可能與IP範圍規範中的拼寫錯誤一樣愚蠢。