NGINX でBasic 認証をするときの設定。
セキュリティはそれほど高くは無いですが、簡単な内容を関係者だけに公開したい場合に使えます。
該当のディレクトリにアクセスすると、ブラウザで認証のポップアップが表示されます。

htpasswd ファイル作成
認証に使用するhtpasswd ファイルにユーザ名とパスワードを設定する。
コマンドを使用してファイルの生成をします。ファイル名は隠しファイルとするので「.」を先頭につけてください。
パスワードの入力を求められるので、パスワードを入力したら認証ファイルは生成される。
sudo htpasswd -c /etc/nginx/.<ファイル名> <ユーザ名>
NGINX の設定
Basic認証をしたいディレクトリ単位で設定を行う。
以下の例では、
server{
listen 443 ssl;
server_name www.a.com;
location /abc/ {
auth_basic_user_file /etc/nginx/htpasswd/.pass1;
}
location /xyz/ {
auth_basic_user_file /etc/nginx/htpasswd/.pass2;
}
}
LINE で URL を送るときの注意
LINEでURLを送ると、LINE内部のブラウザが優先的に利用される。Basic認証等ができなかったり、動画の再生に制限が出たりする。
その時は、URLに ?openExternalBrowser=1 を追加して送る。
<サンプル>
https://www.knaga.click/xxx/index.html?openExternalBrowser=1
コメント