※本サイトはプロモーションが含まれています

コーディング系記事

ConoHa WINGのBasic認証に苦戦した【短いパスワード可】【サーバー移転】

このような人におすすめ
  • WEBサイト制作中級者〜上級者
    ※初心者には難しい内容も入っています。
  • ConoHa WING上でBasic認証をかけて、検証サイトを作りたい人
  • ConoHa WINGで8文字以下のBasic認証を設定したい人
あやおり子

この著者はWEBデザイナー歴5年になるあやおり子です。
最近、XserverからConoHa WINGにサーバー移転しました。

そこで一番苦労したのがBasic認証(アクセス制限)をかけることでした。

今回は、ConoHa WING上でBasic認証をかけるお話について書いていきます。

ConoHa WINGは年間維持費用が安く、WordPressの表示高速化に特化したサーバーになります。

ブログ運営に関するサポートも手厚いので、WordPressを使ったブログを運営している人にオススメのサーバーです。

ConoHa WINGの申し込み

基本的には、コントロールパネルからBasic認証を設定できる

今回の私のように、サーバー移転などで特殊な設定が必要ない場合、コントロールパネル(以下コンパネ)サーバーから設定変更ができます。

「サイト管理」 > 「サイトセキュリティ」>「ディレクトリアクセス制限」にて、アクセス制限をかけたいディレクトリを設定してください。

※何も入力がない場合は、全体にアクセス制限がかかります。

ユーザーとパスワードを入力すれば、Basic認証がかかり、アクセス制限ができます。

コンパネでは8文字未満のパスワードをかけられない

基本的には、このやり方で問題ありませんが、私の場合は旧サーバーから移行する必要があり、旧サーバーと同じパスワードを設定する必要がありました。

しかし、ConoHa WINGのコンパネでは、パスワードを8文字以上、70文字以下にする入力制限があるため、私がかけたいパスワードで設定できませんでした。

このような背景から、ConoHa WINGのコンパネに頼らず、自分で.htaccessを編集することにしました。

.htaccessにBasic認証の記述を追記するのに苦戦

ayaoriko

「.htaccessを作成して、Basic認証の記述を追記しよう」
と思ったのですが、ここからが大変でした…

起こった現象としては、

  • ディレクトリによって、Basic認証がかからなかったりする。
  • SSLの仕様がドメインによって違う

などなど。

シークレットウィンドウで何度も確認するも、パスワード画面が表示されず、キャッシュが影響しているのかも分からない。

ブラウザによっては挙動が違う。

何なんだ???

コンパネから編集することで、Basic認証が設定出来た!

そんなこんなで試行錯誤し、最終的にやっと成功しました。

  1. コンパネでエラーコード「401」をオンにする
  2. .htaccessをコンパネで編集する

の手順を使えば、Basic認証を任意の方法で設定し、アクセス制限をかけることが出来ました。

(1)エラーコード「401」をオンにする

SafariだとBasic認証がキャンセルされると、HTMLの中身が見えてしまう現象がありました。

それを解決するためには、コンパネ内「サイト管理」> 「サイト設定」>「エラーページ」にある401の利用設定をオンにする必要があります。

エラーコード401とは、Webサイトのアクセスやログインに必要なIDやパスワードが間違っているときに表示されるエラー表示です。

本来ここは、401エラー時に表示内容をカスタマイズする箇所ですが、ConoHa Wingsでは設定しないと中身が表示されてしまうようです。

ちなみに、エラーコード403はウェブサイトのアクセス拒否を意味するエラー表示です。

もし、ベーシック認証だけではなくIP制限なども設定している場合は、403の利用設定もオンにしたほうがいいかもしれません。

参考

(2).htaccessをコンパネで編集する

直下の.htaccessで指定する場合、FTPではなくコンパネで編集することをオススメします。

.htaccessには(1)で設定した401の利用設定がすでに指定されていますので、その下にBasic認証の記述をついきします。

記述内容は、ネットで転がっている別サイトでも確認できます。

AuthType Basic
AuthUserFile /home/(省略)/.htpasswd
AuthName "IDとパスワードを入力してください"
Require valid-user


なぜFTPではダメかというと、FTPで編集すると文字コードが変わってしまうらしく、編集するのに一癖あるからです。

本来は、エディターの文字コードを変えて…というお話になりますが、変えたことにより他の制作物への影響を考えると頭が痛いので、コンパネで対応するのがおすすめです。

(補足).htpasswdは既存のhtpasswdファイル生成ツールでも対応可能

.htpasswdは他のサーバー同様、.htaccess内のAuthUserFileに記載した場所に.htpasswdを設置してください。

ちなみに、.htpasswdの記載内容は、既存のhtpasswdファイル生成ツールのものでも対応できました。

しかし、ConoHaのコンパネで生成される、パスワードをかけるための暗号化とはちょっと違うようです。

PHPが標準で発行できるDESベースの暗号は8文字までの制限があり、長いパスワードを設定しても、最初の8文字までしか使用できません。

一方で、ConoHaでは、書き方的におそらくbcryptが採用されおり、より高いセキュリティを意識しているのではと思います。

bcrypt:
blowfish暗号アルゴリズムを用いた、近年比較的安全であると考えられているハッシュ関数。
計算に多くの時間を要すが、これが安全である理由のひとつ。

Basic認証用パスワード作成ツール

参考

Xserver と ConoHa WING 、どっちがおオススメ?

Xserverはガチガチに設定されている一方、ConoHa Wingsはそこまでガチガチにされていない印象を受けました。

そのため、Xserverでは設定されている項目が、ConoHa Wingsでは設定されていない場合もあります。

また、ConoHa Wingsは稼働実績が少ないサーバーなので、XserverのようにWEBサイト制作全般の記事も少ないです。

これらの傾向から、以下の傾向が言えるでしょう。

ConoHa WING

  • WordPressしか使う予定がなく、サイトの高速化を求めているひと
  • 趣味レベルでサーバーをレンタルしている人
  • サポートの手厚さよりも維持費を下げることを優先したい人
  • ライターなどのブログでアフィリエイトをしたい人
  • ドメインが2つ欲しい人

WordPressに特化したWEBサーバーで、初心者でもかんたんにWordPressを使えます。

ConoHa WINGの申し込み

Xserverがオススメな人

  • サポートの手厚さが欲しい人
  • 法人など、企業のサイトを運営したい人
  • WEBサイト制作初心者で、WordPress以外の制作も視野に入れている人
  • WordPress以外も作る予定がある人

Xserverは大量アクセスに強く、安心の実績とサポート体制が強みのWEBサーバーです。

Xserverの申し込み

ABOUT ME
あやおり子
特技はプログラミングのWEBデザイナーです。 WEB制作会社に勤めていた経験を生かして、 ちょっとマニアックな記事を作成しています。