まず、以下のサイトを参照して wsgi-basic-auth をインストールしました。(環境はAmazon Linux2、Apache)
【Django】DjangoアプリにBasic認証をかける
https://qiita.com/mizu4my/items/e8fb51d65f872f302537
まず、ライブラリをインストールします。
$ pip install wsgi-basic-auth
次に、.envファイルに、Basic認証のIDとパスワードを追加します、とありました。
.envファイルとは環境変数を保存するものというのは分かりますが、いったいどこに保存するものなのか書いてありません。
何回か検索して調べると、どうやら django-environ というライブラリを使うらしいことが分かりました。以下のサイトです。
Djangoで環境変数?ならdjango-environを使おうか。
https://qiita.com/moonwalkerpoday/items/9da47dda80d3ddac9a62
最終的には以下のようにしてできました。
wsgi.py(例)
import os
from wsgi_basic_auth import BasicAuth #追加
import environ #追加
env = environ.Env() #追加
env.read_env('/var/www/html/myproject/myproject/.env') #追加.envへのパスの例です。
application = get_wsgi_application()
application = BasicAuth(application) #追加
そして、Apacheの設定ファイル(httpd.conf等)には、WSGIPassAuthorization On を追加することも必要でした。
httpd.conf
WSGIPassAuthorization On #追加
以下を参考にさせていただきました。
WEBアプリケーション開発メモ
http://drunk.chips.jp/web/2021/04/django_basic.html
0 件のコメント:
コメントを投稿