エックスサーバーでサイトの特定フォルダにアクセス制限(Basic認証)をかける方法

スポンサーリンク
Webサーバー

当社のIoTシステムでは、IoTデバイスが観測したデータをWebサーバーに送信・蓄積し、利用者はWebブラウザからサーバーにアクセスすることで、遠隔監視を行います。

その際、利用者のみが情報にアクセスできるように、Webサーバーでは、個々のフォルダ毎に「Basic認証」をかけています。

今回、当社IoTシステムで運用するWebサーバーを「エックスサーバー 」に変更しました。

これまでのサーバーでは、観測するIoTデバイス毎にWebサーバーでフォルダを作成し、その中に、プログラム群と一緒に「.htaccess」ファイルと「.htpasswd」ファイルを設置することで、Basic認証を実現していました。
しかし、この構成のまま、環境を全てエックスサーバーに移行したところ、正常にアクセス制限がかからなくなってしまいました。

対処法を調べたところ、「エックスサーバー」には、「.htaccess」ファイルや「.htpasswd」ファイルを、直接準備しなくても良い、便利な機能がありました。

  • これまで設定していた「.htaccess」ファイルと「.htpasswd」ファイルを削除します。
  • サーバーパネルにログインし、「アクセス制限」をクリックします。
  • アクセス制限するドメイン名にて、「選択する」をクリックします。
  • フォルダ名の一覧が表示されるので、アクセス制限したいフォルダのある階層まで下りていき、該当フォルダの「アクセス制限」を「ON」にして、「設定する」をクリックします。
  • アクセス制限を「ON」にしたフォルダのアイコンには、鍵マークがつきます。
  • アクセス制限を「ON」にしたフォルダの「ユーザー設定」をクリックします。
  • Basic認証時に使う「ユーザーID」と「パスワード」を入力し、「確認画面へ進む」>「追加する」をクリックします。
  • ひとつのフォルダに、複数のユーザーIDを設定することも可能です。

該当フォルダには、新たに「.htaccess」ファイルが生成されます。
また、「.htpasswd」ファイルは、「/home/<サーバーID>/<ドメイン名>/htpasswd/<フォルダ>/.htpasswd」に設置されます。

これまで実施してきた方法より、格段に簡単にアクセス制限をかけることができました。