当社の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」に設置されます。