web-dev-qa-db-ja.com

Apacheの基本認証-開発用コンピューターで無効にする方法

この方法で、許可されていないユーザーが一部のフォルダーにアクセスできないようにします。

AuthUserFile /var/www/passwords/.htpasswd_private
AuthType Basic
AuthName "Access to private admin section"
Require valid-user

本番(Ubuntu)サーバーでは正常に動作します。問題は、同じコードでWindows開発コンピューターへのアクセスを許可する(または少なくともパスワードを要求する)ことです。

追加してみました

Allow from 127.0.0.1

ただし、開発用コンピューターでパスワードファイルが見つからないため、ログにはエラーが表示されます。指定されたパスが見つかりません。 :パスワードファイルを開くことができませんでした:C:/var/www/passwords/.htpasswd_private

開発用コンピューターでアクセスを許可するかパスワードを要求するようにApacheに指示するエレガントな方法は何ですか?

1
Niro

ディレクトリC:/var/www/passwords/.htpasswd_privateを作成してから、Apacheインストールに付属のhtpasswd.exeプログラムを使用して.htpasswd_privateファイルを作成します

htpasswd -c C:/var/www/passwords/.htpasswd_private username
Automatically using MD5 Format
New password: *********
Re-type password: *********
Adding password for user username

これで、システムが本番サーバーのように機能するようになります。

3
user9517

許可元は、パスワードなしでログインできるという意味ではなく、アクセスできるホストを設定するだけです。それでもパスワードの入力を求められます。

2つのオプションがあります:

  1. C:/var/www/passwords/.htpasswd_privateに有効な.htpasswd_privateファイルを作成します
  2. ディレクトリ宣言でこれらのオプションを削除します。

    AuthUserFile /var/www/passwords/.htpasswd_private

    AuthType Basic

    AuthName「プライベート管理セクションへのアクセス」

    有効なユーザーが必要

そして、127.0.0.1からの許可ステートメントを残すだけです。

1
Lucas Kauffman

デュアルhtpasswd + LDAP認証がありましたAuthBasicProvider file ldap次のように:AuthType Basic AuthName "MyApp"

AuthBasicProvider file ldap

AuthUserFile /var/www/domain.tld/myapp/.htpasswd

# LDAP
AuthzLDAPAuthoritative off
AuthLDAPURL "ldaps://ldap.domain.tld:636/dc=domain,dc=tld?uid?sub?(&(objectClass=person)(mail=*@domain.tld))" SSL
AuthLDAPBindDN "CN=myapp,OU=Applications,DC=domain,DC=tld"
AuthLDAPBindPassword "xxxxxxxxxx"
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off

Require valid-user

次のディレクティブのみを削除/コメントするだけで十分なようです。

  • AuthUserFile
  • AuthzLDAPAuthoritative
  • Require
0
CDuv