.htpasswd生成ツール(Basic認証用)

※IDとパスワードを入力してください。


文字列をクリックするとコピーできます

.htpasswd

.htpasswdとは?

.htpasswdは、Apache HTTP ServerやNginxで使用されるパスワードファイルです。Basic認証によるアクセス制限を実装する際に使用され、ユーザー名とハッシュ化されたパスワードが「username:encryptedpassword」の形式で保存されます。特定のディレクトリやファイルへのアクセスを制限し、認証されたユーザーのみがコンテンツを閲覧できるようにします。

.htpasswdの活用シーン

開発中のWebサイトの保護

公開前のステージング環境やテストサイトを外部から閲覧できないよう保護します。クライアントや関係者のみにアクセスを許可することで、未完成のサイトが検索エンジンにインデックスされるのを防ぎます。

管理画面・CMSへのアクセス制限

WordPressの管理画面(/wp-admin/)などに二段階の認証を追加することで、セキュリティを強化します。Basic認証で最初の防御層を作り、その後にCMSのログインで二重の保護を実現できます。

社内専用コンテンツの保護

社内向けドキュメント、マニュアル、レポートなど、特定のメンバーのみがアクセスできるエリアを作成します。

APIエンドポイントの簡易保護

開発段階のAPIや内部APIに簡易的なアクセス制限を設けます。本番環境では、より強固なトークンベース認証への移行を推奨します。

ファイルダウンロードの制限

会員限定のPDFや画像などのダウンロードコンテンツを保護します。

.htpasswd生成ツールの使い方

  1. 「ID」欄にBasic認証で使用するユーザー名を入力
  2. 「パスワード」欄に設定したいパスワードを入力
  3. 自動的に.htpasswd形式の文字列が生成されます
  4. 生成された文字列をクリックしてコピー
  5. サーバ上の.htpasswdファイルに貼り付けて保存
💡 複数ユーザーを登録する場合:
各ユーザーごとに生成した文字列を改行で区切って.htpasswdファイルに記述してください。

Basic認証の設定方法

Apacheでの設定手順

1. .htpasswdファイルの配置

生成した内容を.htpasswdファイルに保存し、サーバの適切な場所(通常はドキュメントルート外)に配置します。

/var/www/.htpasswd

2. .htaccessファイルの作成

アクセス制限をかけたいディレクトリに.htaccessファイルを作成し、以下の内容を記述します。

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/.htpasswd
Require valid-user

Nginxでの設定手順

1. .htpasswdファイルの配置

.htpasswdファイルをNginxの設定ディレクトリに配置します。

/etc/nginx/.htpasswd

2. nginx.confの編集

対象のlocationブロックまたはserverブロックに以下を追加します。

location /restricted/ {
	auth_basic "Restricted Area";
	auth_basic_user_file /etc/nginx/.htpasswd;
}

トラブルシューティング

「Internal Server Error (500)」が表示される

認証ダイアログが表示されない

正しいパスワードを入力しても認証できない

Nginxで認証が効かない

よくある質問(FAQ)

.htpasswdとは何ですか?

.htpasswdは、ApacheやNginxでBasic認証を実装する際に使用するパスワードファイルです。ユーザー名とハッシュ化されたパスワードのペアを保存し、Webページやディレクトリへのアクセスを制限します。

Basic認証とは何ですか?

Basic認証は、HTTPプロトコルで定義されている最も基本的な認証方式です。ユーザー名とパスワードを入力することで、保護されたリソースにアクセスできるようになります。簡易的なアクセス制限に適していますが、HTTPS通信と組み合わせて使用することが推奨されます。

入力したパスワードは保存されますか?

いいえ、すべての処理はブラウザ上(JavaScript)で完結し、サーバにIDやパスワードは一切送信されません。完全にプライバシーが保護されます。

複数のユーザーを登録するにはどうすればいいですか?

各ユーザーごとにこのツールで文字列を生成し、.htpasswdファイルに改行で区切って記述してください。1行につき1ユーザーの形式で、何名でも登録できます。

.htpasswdファイルはどこに置けばいいですか?

セキュリティ上、ドキュメントルート(公開ディレクトリ)の外に配置することが推奨されます。例えば、公開ディレクトリが/var/www/html/の場合、/var/www/.htpasswdに配置します。

パスワードの暗号化方式は何ですか?

このツールはbryptベースのハッシュを使用しています。これはApacheとNginxの両方で広く対応されている方式です。今後、他の方式の実装も検討しています。

Basic認証は安全ですか?

Basic認証単体では認証情報がBase64エンコードされるだけで暗号化されません。必ずHTTPS(SSL/TLS)通信と組み合わせて使用してください。重要なシステムには、より強固な認証方式(Digest認証、OAuth等)の使用を検討してください。

.htaccessが効かない場合は?

Apacheの設定で「AllowOverride AuthConfig」または「AllowOverride All」が有効になっているか確認してください。また、mod_authが有効になっている必要があります。

本ツールは、開発者向けユーティリティサイト「DevDojo」にて提供されています。 正確性と使いやすさを重視し、ブラウザ上で安全に動作します。

-->