Apache 2.4.x Basic 認証

技術情報
公開 2023年11月6日

1Basic 認証の有効化

参考 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

4Apache の再起動

# apachectl configtest
# systemctl restart httpd
# systemctl status httpd

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