1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ApacheにBasic認証かけるの、意外と簡単なのよ

Posted at

まえがき

Basic認証かけるのは意外と簡単!!

kagi.png

前提

Linux上でmod_wsgiつかって動かしてるPython Webアプリケーションであること
今回のケースではEC2上でApache HTTPを動かしている。

1. htpasswdツールをインストール

1-a.そもそもhttpd-toolsが入ってるか確認

rpm -q httpd-tools

・入っていない場合: 以下のような文言を吐く
package httpd-tools is not installed

・入っている場合: 以下のような文言を吐く
httpd-tools-2.4.59-2.amzn2023.x86_64

1-b.入ってなかったらインストール

sudo yum install httpd-tools -y

2. idとパスワードを設定

sudo htpasswd -c /etc/httpd/.htpasswd 任意のid

パスワード入力を求められるので入力

3. WSGI DaemonProcessファイルを編集

/etc/httpd/conf.d/とかに入ってるはず。
たぶんapp.confとかssl.confとか。
どこにあるか忘れちゃったら以下のコマンドで探そう

sudo httpd -S

以下文言を記述する。
Requrireに valid-user以外が入ってないか要確認!
ぼくはRequire all granted の記述を入れっぱなしにしていて
Basic認証がかからない!と慌てた記憶がある。

<Directory "プロジェクトルートディレクトリのパス">
    AuthType Basic
    AuthName "Restricted Access"
    AuthUserFile /etc/httpd/.htpasswd
    Require valid-user
</Directory>

confファイルに問題ないかテスト

sudo apachectl configtest

問題がなければサーバーを再起動

sudo systemctl restart httpd

完成!

自分のサイトを確認してみよう。
Basic認証がかかってるはず!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?