Apache 2.4では、アクセス制御はOrderではなくRequireを用います。Access control - Upgrading to 2.4 from 2.2 - Apache HTTP Server Version 2.4
Order orderingOrder ディレクティブ - mod_authz_host - Apache HTTP サーバ
キーワード | 説明 |
---|---|
Deny,Allow | DenyをAllowより先に評価する。既定ではアクセスを許可 |
Allow,Deny | AllowをDenyより先に評価する。既定ではアクセスを拒否 |
Mutual-failure | Allow,Denyと同義。(このキーワードは非推奨) |
アクセスを許可または拒否するホストを指定するにはAllowまたはDenyを用い、これでfrom allを指定するとすべてのホストが対象となります。
Allow from all | host
Deny from all | hostDeny ディレクティブ - Apache HTTP サーバ
アクセス許可の指定後「'AH01630: client denied by server configuration'」となるならば、OrderをRequireに置き換えます。apache2.4 - Apache2: 'AH01630: client denied by server configuration' - Stack Overflow
Apache 2.2 | Apache 2.4 | |
---|---|---|
すべての要求を拒否 |
Order deny,allow Deny from all |
Require all denied |
すべての要求を許可 |
Order allow,deny Allow from all |
Require all granted |
<Directory "c:/Apache2/htdocs"> Order Allow,Deny Deny from all </Directory>
拡張子が.gif、.jpeg、.jpgそして.pngへのアクセスを禁止するには、<FilesMatch>を使用して、
<FilesMatch "\.(gif|jpe?g|png)$"> Order Allow,Deny Deny from all </FilesMatch>
とします。
AuthType Basic AuthName 記憶領域の名前 AuthUserFile ユーザー名とパスワードの一覧を格納したファイルのパス Require valid-user
AuthNameは記憶領域の名前を表し、クライアントに対して使用するユーザー名とパスワードを通知するために用いられます。この名前にスペースが含まれる場合には、引用符 ( " ) で囲まなければなりません。AuthName ディレクティブ
AuthUserFileで、認証のための情報を格納したファイルへのフルパスを指定します。そのファイルは、
[ユーザー名1:暗号化したパスワード] [ユーザー名2:暗号化したパスワード] ...
のようにユーザー名と暗号化したパスワードをコロン ( : ) で区切り、行ごとに列挙したものになります。AuthUserFile ディレクティブ
このファイルを作成するには、Apacheに含まれるhtpasswd.exeを使用するのが簡単です。これは、
htpasswd [-cmdpsD] passwordfile usernamehtpasswd - Manage user files for basic authentication - Apache HTTP Server
の書式に従い、ファイル名とユーザー名を指定して実行します。また新規にファイルを作成するならば、-cオプションも指定します。
C:\>htpasswd -c C:\.htpasswd TEST New password: *** Re-type new password: *** Adding password for user TEST
結果は指定ファイルに、
TEST:$apr1$1lARsvN0$BHiBLX16T7o6BHyXCMRg7/
のようなテキストで保存されます。ファイルに出力する必要がなければ-nオプションを指定することで、次のように暗号化されたパスワードを確認できます。
C:\>htpasswd -n TEST New password: *** Re-type new password: *** TEST:$apr1$Sq5yMmAD$UAPS/aMR5zj.3j2bVszUe0
なおユーザー名とパスワードを同一にしても、生成される結果は毎回異なる内容となります。パスワードファイルの作成 - アクセス制限 - Apache入門