152

私は得ています

[2012年4月24日火曜日12:12:55][エラー][クライアント127.0.0.1]サーバー構成によってクライアントが拒否されました:/ labs / Projects / Nebula / bin /

私のディレクトリ構造は次のようになります(私はSymfony 2を使用していますが、他のWebフレームワークでも同様の構造である必要があります)

ここに画像の説明を入力してください

私はvhostsを次のように設定しています:

<VirtualHost nebula:80>
    DocumentRoot "/labs/Projects/Nebula/web/"
    ServerName nebula
    ErrorLog "/var/log/httpd/nebula-errors.log"
</VirtualHost>

<Directory "/labs/Projects/Nebula/">
    Options All
    AllowOverride All
    Order allow,deny
    Allow from 127.0.0 192.168.1 ::1 localhost
</Directory>

問題は何ですか、どうすれば修正できますか?

4

9 に答える 9

400

Apache 2.4.3 (またはそれより少し前のバージョン) では、このエラーが発生することが多い新しいセキュリティ機能が追加されました。「クライアントはサーバー構成によって拒否されました」という形式のログ メッセージも表示されます。この機能では、ディレクトリにアクセスするために許可されたユーザー ID が必要です。これは、Apache に同梱されている httpd.conf の DEFAULT で有効になっています。ディレクティブで機能の有効化を確認できます

Require all denied

これは基本的に、すべてのユーザーへのアクセスを拒否することを意味します。この問題を解決するには、拒否されたディレクティブを削除するか (またはもっと良い方法で)、アクセスを許可するディレクトリに次のディレクティブを追加します。

Require all granted

のように

<Directory "your directory here">
   Order allow,deny
   Allow from all
   # New directive needed in Apache 2.4.3: 
   Require all granted
</Directory>
于 2012-12-17T22:46:57.067 に答える
10

OK私は間違った構文を使用しています、私は使用する必要があります

Allow from 127.0.0.1
Allow from ::1
...
于 2012-05-04T03:18:08.420 に答える
5

Apache 2.4 では、古いアクセス認証構文は廃止され、Requireを使用する新しいシステムに置き換えられました。

あなたが望むのは、次のようなものです:

<Directory "/labs/Projects/Nebula/">
  Options All
  AllowOverride All
  <RequireAny>
    Require local
    Require ip 192.168.1
  </RequireAny>
</Directory>

これにより、ローカル ホストまたは「192.168.1」で始まる IP アドレスからの接続が許可されます。

構成をすぐに更新したくない場合に、Apache 2.4 が古い構文を認識できるようにする新しいモジュールも利用できます。

sudo a2enmod access_compat
于 2015-05-20T08:36:50.117 に答える
2

私は Vesta CP を使用してこの問題を抱えていました。

その結果、.htaccess ファイルが再生成され、ファイルにアクセスできるようになりました。

于 2016-01-21T13:06:59.193 に答える
1

「127.0.0192.168.1::1localhostから許可」を「すべてから許可」に変更してみてください。それで問題が解決した場合は、コンテンツをリクエストできる場所についての制限を緩和する必要があります

于 2012-05-02T05:32:31.783 に答える
1

あなたが持っている場合

Allow from All

httpd.conf で、次のことを確認してください。

index.php

httpd.conf の以下の行のように

DirectoryIndex index.html index.php
于 2014-09-20T05:29:12.720 に答える
1

これは、debian 上の私の symfony 1.4 仮想ホスト ファイルで、正常に動作します。

  <Directory /var/www/sf_project/web/>
    Options All Indexes FollowSymLinks    
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

特定の IP 範囲へのアクセスを制限したくない場合 (例: localhost)、これを使用します。

Allow from 127.0.0.0/8

mod_authz_hostは、IP 範囲のフィルタリングを担当します。細かいところまで調べることができます。

しかし、問題は「apache2.conf」の何らかの設定ミスに関連している可能性があります。

apache が実行されている OS は何ですか?

于 2012-05-06T13:05:17.647 に答える
0

私の場合、キーは次のとおりです。

AllowOverride All

仮想ホスト定義で。誰かの役に立てば幸いです。

于 2015-04-27T22:52:33.160 に答える
-4

このコードは私のために働いた..

 <Location />
Allow from all
Order Deny,Allow
</Location> 

これが他の人に役立つことを願っています

于 2015-07-27T12:21:23.107 に答える