LoginSignup
5
5

More than 3 years have passed since last update.

KUSANAGI – nginxでベーシック認証の設定方法(SSLバージョン)

Last updated at Posted at 2019-08-21

KUSANAGIで立てたWordPressにBasic認証をかけたくて、調べたけどうまくいかず試行錯誤した結果、うまくいった手順を記録します。
https:// のURL前提で書かせていただきます。

【公式】
 推奨するセキュリティ対応 – KUSANAGI

【参考にしたサイト】
 KUSANAGI – 超高速WordPress仮想マシンをnginxでベーシック認証する
 Nginx で Basic 認証

作業はroot権限で行なっている前提で書いています。rootでない場合はsudo su -などでrootに入ってください。

.htpasswdファイルを作成

Basic認証のユーザーとパスワードのセットを生成します。


$ htpasswd -c /etc/nginx/.htpasswd [ユーザ名]
New password: [パスワード]
Re-type new password: [パスワード]
Adding password for user [ユーザ名]

confファイルを設定します

該当ファイルがある場所へ一旦移動します。


cd /etc/nginx/conf.d

ここにいくつかファイルがあると思いますが、使うのは[プロファイル名]_http.conf[プロファイル名]_ssl.confの二つです。

1.SSLオンリーにするため、11行目のコメントを外します。


vi [プロファイル名]_http.conf
 11     rewrite ^(.*)$ [サイトURL]$request_uri permanent; # SSL ONLY

2.Basic認証設定をします

色々設定しているため行数はずれているかもですが、//追加(49、50行目)
//コメントアウト(80行目) //変更(84行目) 部分を探して対応してください。


vi [プロファイル名]_ssl.conf

 47     location / {
 48         try_files $uri $uri/ /index.php?$args;
 49         auth_basic "Restricted"; #追加
 50         auth_basic_user_file "/etc/nginx/.htpasswd"; #追加
 51         #include naxsi.d/wordpress/*.conf;
 52     }

省略

 78     location ~* /wp-login\.php|/wp-admin/((?!(admin-ajax\.php|images/)).)*$ {
 79         satisfy any;
 80         #allow 0.0.0.0/0; #コメントアウト
 81         allow 127.0.0.1;
 82         deny all;
 83         auth_basic "basic authentication";
 84         auth_basic_user_file  "/etc/nginx/.htpasswd"; #変更

書き換えたら、上書き保存で最後に$ service nginx restartで再起動します。
これで、Basic認証がかけられているはずです!

5
5
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
5
5