この方法で、許可されていないユーザーが一部のフォルダーにアクセスできないようにします。
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に指示するエレガントな方法は何ですか?
ディレクトリ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
これで、システムが本番サーバーのように機能するようになります。
許可元は、パスワードなしでログインできるという意味ではなく、アクセスできるホストを設定するだけです。それでもパスワードの入力を求められます。
2つのオプションがあります:
C:/var/www/passwords/.htpasswd_private
に有効な.htpasswd_privateファイルを作成しますディレクトリ宣言でこれらのオプションを削除します。
AuthUserFile /var/www/passwords/.htpasswd_private
AuthType Basic
AuthName「プライベート管理セクションへのアクセス」
有効なユーザーが必要
そして、127.0.0.1からの許可ステートメントを残すだけです。
デュアル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