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

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

CentOS 6 VPSのすべてのhttps URLが複数の仮想ホストから403を返したことがわかりました。何が起こっているかを確認するために見つける必要がある特定の構成設定はありますか?それともデバッグに役立つログインですか?

答え1

ログが入力されました/var/log/httpd(ログを表示するには「root」である必要があります)。そこにありますaccess_logerror_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/

Webサイトを含むディレクトリには、Apacheがディレクトリを読むことができるように、xこのグループの権限が必要です。apache同様に、親ディレクトリにもx権限セットが必要です。そして両親の両親など。

ファイルの権限が正常な場合は、これがSELinux原因ではないことを確認してください。ランニング:-

`setenforce 0`

それからもう一度やり直してください。今動作している場合、問題は次のことをSELinux実行することです。

`setenforce 1`

SELinuxを再度有効にします。

答え2

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

HTTPサーバーが使用するユーザー名/グループに、このディレクトリにアクセスするのに十分な権限があることを確認してください。たとえば/var/log/httpd/access_log、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のインストールに問題があるようです。これを削除してサーバーを再起動すると、問題が解決しました。

関連情報