Apache 2.4.x Basic 認証

技術情報
公開: 2023年11月06日

1. Basic 認証の有効化

参考 Apacheでhtaccessが効かない対処法【有効化手順】

このディレクティブを None に設定すると、.htaccess ファイルは完全に 無視されます。 この場合、サーバはファイルシステムの .htaccess ファイルを読むことを 試みさえしません。このディレクティブが All に設定されている時には、 .htaccess という コンテキスト を持つ 全てのディレクティブが利用できます。

AWS Apache では Basic 認証が無効になっているので httpd.conf を修正
vi /etc/httpd/conf/httpd.conf

  • 修正前
<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>
  • 修正後
<Directory />
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all denied
</Directory>

2. パスワードファイルの作成

htpasswd -c /etc/httpd/conf/.htpasswd user
hoge

3. .htaccess ファイルの作成

/var/www/html/.htaccess

AuthType Basic
AuthName "Basic Auth"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user

4. Apache の再起動

# apachectl configtest
# systemctl restart httpd
# systemctl status httpd

apache2.4系でBasic認証 or Digest認証、特定IPアドレスからは認証なしで