web-dev-qa-db-ja.com

サーバー構成によりクライアントが拒否されました

Kohana 3プロジェクトを仮想ホストとしてセットアップしようとしています。

構成:

<VirtualHost *:80>
  DocumentRoot "D:/Devel/matysart/matysart_dev1"
  ServerName matysart-one.local
  ServerAlias www.matysart-one.local
  DirectoryIndex index.php
</VirtualHost>

エラー(403):

[クライアント127.0.0.1]サーバー構成によって拒否されたクライアント:D:/ Devel/matysart/matysart_dev1 /

誰か助けてもらえますか?

53
Codium

私の場合、ディレクトリタグを変更しました。

From

<Directory "D:/Devel/matysart/matysart_dev1">
  Allow from all
  Order Deny,Allow
</Directory>

To

<Directory "D:/Devel/matysart/matysart_dev1">
  Require local
</Directory>

そして、それは真剣に働きました。 Apache 2.4.2で変更されたようです。

97
Umair A.

私にとっては、/etc/Apache2/Apache2.confの例からコピーされた次のように機能しました:

<Directory /srv/www/default>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Require all grantedオプションは、Apacheバージョン2.4+のこの問題専用の wiki.Apache.org ページの最初の問題の例の解決策です。

Requireオプションの詳細は、 mod_authzモジュールの公式Apacheページ および このページも にあります。すなわち:

すべての許可を要求->アクセスは無条件で許可されます。

32

「クライアントはサーバー構成によって拒否されました」というエラーは、通常、構成のどこかがAllow fromおよびDeny fromアクセスを妨げているディレクティブ。詳細については、 mod_authz_Host のドキュメントをお読みください。

次のようなものを追加することで、VirtualHostでこれを解決できるはずです。

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

または、Directoryディレクティブを使用する場合:

<Directory "D:/Devel/matysart/matysart_dev1">
  Allow from all
  Order Deny,Allow
</Directory>

Apache構成ファイルを調査すると、おそらくデフォルトのDocumentRootに対するデフォルトの制限が明らかになります。

19
larsks

私の場合、

macOS Mojave(Apache/2.4.34)を使用しています。 /etc/Apache2/extra/httpd-vhosts.confファイルの仮想ホスト設定に問題がありました。必要なディレクトリタグを追加した後、私の問題はなくなりました。

すべての付与が必要

完全な仮想ホストのセットアップ構造があなたを救うことを願っています。

<VirtualHost *:80>
    DocumentRoot "/Users/vagabond/Sites/MainProjectFolderName/public/"
    ServerName project.loc

    <Directory /Users/vagabond/Sites/MainProjectFolderName/public/>
        Require all granted
    </Directory>

    ErrorLog "/Users/vagabond/Sites/logs/MainProjectFolderName.loc-error_log"
    CustomLog "/Users/vagabond/Sites/logs/MainProjectFolderName.loc-access_log" common
</VirtualHost>

mainProjectFolderNameを正確なProjectFolderNameに置き換えるだけです。

2
sh6210

これは私のために働いた..

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

このコードを/etc/Apache2/Apache2.confに含めました

0
santosh

これは、Apache 2.2からの移行中に何度か起こりました。

私が見つけたのは、VIMの検索機能で見逃したOrder、Denyがあり、それが何らかの形でデフォルトのメインVhostである379行目だということです。私はすべてからの注文拒否、許可、拒否をコメントアウトしました。

0
DevOops

適切なホストとIPのリストを持つサーバーがあります。そのどれも allow allもの。私の修正は、新しいワークステーションのホスト名をリストに追加することでした。アドバイスは次のとおりです。

使用しているコンピューターが許可されたIPのリストに実際にあることを確認してください。ログメッセージからIPを調べ、名前を解決し、ifconfig/ipconfigなどを確認します。

*エラーメッセージが原因でGoogleから送信されました。

0
Chris