CentOS はすべての https URL に対して 403 を返します

CentOS はすべての https URL に対して 403 を返します

CentOS 6 VPS 上のすべての https URL が複数の vhost にわたって 403 を返していることがわかりました。何が起こっているかを確認するために確認すべき構成設定はどこかにありますか? またはデバッグに役立つログはありますか?

答え1

ログは にあります/var/log/httpd(表示するには 'root' である必要があります)。 と がaccess_logそこerror_logにあります。

ファイルの権限を設定/確認しましたか? グループはapache最低限、ファイルを読み取ることができる必要があります。たとえば、私 (ユーザーgareth) が にサイトを持っている場合/var/www/html:-

$ls -l /var/www/html
-rwxr-----. gareth apache 30 Jun 23 13:35 test.html

ご覧のとおり、私はrwファイルにアクセスでき、Apache サービスもrアクセスできます。また、次のようになります。

$ls -ld /var/www/html
drwx--x---. gareth apache 4096 Jun 23 13:35 /var/www/html/

ウェブサイトを含むディレクトリには、 Apache がディレクトリを読み取ることができるように、グループxの権限が必要ですapache。同様に、その親ディレクトリにもx権限が設定されている必要があります。また、親の親などにも権限が設定されている必要があります。

ファイルの権限が正常であれば、それがSELinux原因ではないことを確認します。以下を実行します:-

`setenforce 0`

もう一度試してください。これで問題が解決した場合、問題は にありますSELinux。以下を実行することを忘れないでください:-

`setenforce 1`

SELinux を再度有効にします。

答え2

403 ステータス コードは、クライアントが要求されたリソースにアクセスできないことを示します。これは通常、URL が参照しているファイルやディレクトリに、HTTP サーバーがアクセスするための権限がないことを示します。

/var/log/httpd/access_logHTTP サーバーが使用するユーザー名/グループに、このディレクトリにアクセスするための十分な権限があることを確認します。また、たとえば HTTP サーバーが Apache の場合は、にこの情報が表示されます。

Apache のユーザー/グループは設定ファイルで定義されます/etc/httpd/conf/httpd.conf

$ grep -E "^User|^Group" /etc/httpd/conf/httpd.conf 
User apache
Group apache

答え3

どうやら mod-spdy-beta_current_x86_64.rpm のインストールに問題があったようです。それを削除してサーバーを再起動すると解決しました。

関連情報