Apache-2.2

除了某些目錄之外,如何在任何地方設置 BasicAuth

  • February 6, 2022

在為特定目錄設置 BasicAuth 保護時,我使用簡單的設置(在apache2.conf文件中):

<Directory /var/www/somedir/>
Deny from all
AuthUserFile /var/pswd/somedir/.htpasswd
AuthName authorization
AuthType Basic
Satisfy Any
require valid-user
</Directory>

但我想預設在伺服器上的任何地方設置 BasicAuth,並且只為特定目錄(網站、域)解鎖。

那麼,除了某些目錄之外,如何在伺服器上的任何地方設置 BasicAuth 呢?

任何後續定義都應覆蓋 apache 配置文件中的先前定義。試試下面的,它應該可以解決它。

<Directory /var/www/>
 Order deny,allow
 Deny from all
 AuthUserFile /var/pswd/somedir/.htpasswd
 AuthName authorization
 AuthType Basic
 Satisfy Any
 require valid-user
</Directory>

Alias /path/to/opendir/ /public
<Directory /var/www/opendir/>
 Allow from all
</Directory>

您還可以.htaccess通過添加來控制它:

Override Auth
Allow from all
Satisfy any

更多資訊請看: 這裡這裡這里這裡

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