このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

client denied by server configurationの解決方法 このメッセージに返信する
日時: 2013/07/01(Mon) 10:51
名前: としちゃん
URL:
サーバーのエラーログ( httpd/error_log)を見ると以下のエラーが出ていました。
おそらく発生したタイミングはバーチャルホストの設定をしてからです。
client denied by server configuration: /var/www/html/wordpress/
client denied by server configuration: /var/www/html/robots.txt
client denied by server configuration: /var/www/html/faq.html


普通にexample.com/wordpress/もexample.com/robots.txtも問題なくブラウザ
からアクセスできるので、何故このようなエラーがでるのか良く分かりません。

また、example.com/faq.htmlはサーバーから削除して、.htaccessで
Redirect gone /faq.htmlしているので、410になっていることは確認ずみです。

よって、今まで全く問題ないと思っていたので、エラーログを見るまでこのような
エラーが出ていることに気が付きませんでした。

申し訳ありませんが、対策方法を教えていただきたく。
CentOsのバージョンは6.4です。
Apacheのバージョンは2.2.15です。
記事編集 編集

Page: | 1 | 2 |

Re: client denied by server configurationの解決方法 このメッセージに返信する
日時: 2013/07/02(Tue) 16:07
名前: としちゃん
URL:
1時間くらいエラーログに記録されなかったので解決したと思ったのですが、今ログを見たら
「client denied by server configuration」が記録されていました。
未だ未解決です。


−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
メインホストとバーチャルホストの設定ファイルに<Directory /></ Directory>を付け加えたころ、解決しました。
ZED様、ありがとうございました。

ところで、アパッチを再起動すると以下のエラーが出ます。

httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName


これは、「client denied by server configuration」の対策を「する」・「しない」に関わらず発生しており、2か月前にバーチャルホストの設定をしたときは出なかったエラーです。
そこで原因を調査しているときに、/etc/httpd/conf/httpd.confの以下の記述のコメントアウトを止めてこの記述を生かすとエラーが出なくなることが分かりました。
ログを見ると特に問題なさそうですが、こんな対処療法的な対策は止めた方が良いですよね。

#ServerName example.com:80 ← 行頭に#を追加してコメントアウト





ちなみに具体的な「client denied by server configuration」の対策は以下の通りに記述しました。

[root@hoge hanako]# vi /etc/httpd/conf.d/virtualhost-main.example.com.conf ← メインホスト用バーチャルホスト設定ファイル作成
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html
</VirtualHost>

<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

<Directory "/var/www/wordpress">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>


[root@hoge hanako]# vi /etc/httpd/conf.d/virtualhost-virtual.example.com.conf ← 追加ホスト用バーチャルホスト設定ファイル作成
<VirtualHost *:80>
ServerName it.example.com
DocumentRoot /var/www/html/it
ErrorLog logs/it-error_log
CustomLog logs/it-access_log combined env=!no_log
</VirtualHost>

<Directory "/var/www/html/it">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

<VirtualHost *:80>
ServerName food.example.com
DocumentRoot /var/www/html/food
ErrorLog logs/food-error_log
CustomLog logs/food-access_log combined env=!no_log
</VirtualHost>

<Directory "/var/www/html/food">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
記事編集 編集
Re: client denied by server configurationの解決方法 このメッセージに返信する
日時: 2013/07/02(Tue) 20:47
名前: としちゃん
URL:
Bingのウェブマスターツールから「Bingbot として取得 」という機能を使ってエラーになっていrobots.txtにアクセスすると
以下のように問題無し。
ちなみにgoogleのFetch as Googleを使ってrobots.txtにアクセスしても問題無く取得できる。


HTTP/1.1 200 OK
Connection: close
Date: Tue, 02 Jul 2013 11:34:55 GMT
Content-Length: 115
Content-Type: text/plain
Content-Encoding: gzip
Last-Modified: Wed, 29 May 2013 14:58:40 GMT
Accept-Ranges: bytes
ETag: "206a6-94-4dddc9dfd2800"
Server: Apache
Vary: Accept-Encoding,User-Agent

User-Agent: *
Allow: /



にも拘らず、サーバーには以下のようにエラーが記録されている。


アパッチのエラーログ
[Tue Jul 02 19:56:58 2013] [error] [client 65.55.24.247] client denied by server configuration: /var/www/html/robots.txt

アパッチのアクセスログ
65.55.24.247 80 - - [02/Jul/2013:19:56:58 +0900] "GET /robots.txt HTTP/1.1" 403 212 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"



なんだか良く分からない。
記事編集 編集
Re: client denied by server configurationの解決方法 このメッセージに返信する
日時: 2013/07/02(Tue) 22:57
名前: としちゃん
URL:
サーバーの設定の問題じゃないような気がしてきました。
bingは同じIPでありながら、403になったり、200になったり。
googleは403と200でIPが違っていました。

Botの素行の問題?
こんなことがあるのか、ウェブマスター系のフォーラムに行って聞いてみます。


403になった。
"157.55.32.54 80 - - [02/Jul/2013:11:23:43 +0900] ""GET /robots.txt HTTP/1.1"" 403 212 ""-"" ""Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"""
"157.55.32.54 80 - - [02/Jul/2013:13:06:11 +0900] ""GET /robots.txt HTTP/1.1"" 403 212 ""-"" ""Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"""


200になった。
"157.55.32.54 80 - - [02/Jul/2013:06:53:25 +0900] ""GET /robots.txt HTTP/1.1"" 200 148 ""-"" ""Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"""
"157.55.32.54 80 - - [02/Jul/2013:13:41:49 +0900] ""GET /robots.txt HTTP/1.1"" 200 148 ""-"" ""Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"""
"157.55.32.54 80 - - [02/Jul/2013:15:58:21 +0900] ""GET /robots.txt HTTP/1.1"" 200 148 ""-"" ""Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"""
"157.55.32.54 80 - - [02/Jul/2013:18:12:39 +0900] ""GET /robots.txt HTTP/1.1"" 200 148 ""-"" ""Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"""
"157.55.32.54 80 - - [02/Jul/2013:18:58:51 +0900] ""GET /robots.txt HTTP/1.1"" 200 148 ""-"" ""Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"""
記事編集 編集
Re: client denied by server configurationの解決方法 このメッセージに返信する
日時: 2013/07/03(Wed) 10:23
名前: ZED
URL:
>
>ところで、アパッチを再起動すると以下のエラーが出ます。
>
>httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
>
hostsにサーバー名が記載されていないからでしょう。
そのまま#でコメントアウトでもいいですし、ServerNameをしっかり書いてあげてもいいと思います。
記事編集 編集
Re: client denied by server configurationの解決方法 このメッセージに返信する
日時: 2013/07/03(Wed) 10:28
名前: ZED
URL:
iptabelsにIPで弾いていませんか?
.htaccessで弾くと、どのIPでも全部弾かれるため、上記が濃厚
あとは、バーチャルホストの設定ミスとかですかね。




>サーバーの設定の問題じゃないような気がしてきました。
>bingは同じIPでありながら、403になったり、200になったり。
>googleは403と200でIPが違っていました。
>
>Botの素行の問題?
>こんなことがあるのか、ウェブマスター系のフォーラムに行って聞いてみます。
>
記事編集 編集
Re: client denied by server configurationの解決方法 このメッセージに返信する
日時: 2013/07/03(Wed) 20:34
名前: としちゃん
URL:
ファイアーウォールの設定はこちらサイトを参考にしています。
またdeny_ipを確認しましたが、アクセス拒否になったIPは登録されていませんでした。
バーチャルホストの記述もこちらサイトを参考にしましたが、間違っているようには見えないし。



回避策として
virtualhost-00.confを無効にしました。
これにより エラーログに「client denied by server configuration」が記録されなくなりました。
しかしこの方法だとドメイン名の正規化が出来ないため、IPアドレスでの接続が出来てしまいます。
そこで.htaccessに以下を追加しました。

ルートドメイン
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]


>>httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, >>using localhost.localdomain for ServerName
>hostsにサーバー名が記載されていないからでしょう。
>そのまま#でコメントアウトでもいいですし、ServerNameをしっかり書いてあげてもいいと思います。

これは、/etc/httpd/conf/httpd.confの以下の記述のコメントアウトを止めて生かすことにしました。
#ServerName example.com:80 ← 行頭に#を追加してコメントアウト



対処療法ですが、これで良いだろうと思っています。
どう思いますか?

取り敢えず、問題なさそうなので、この問題をクローズにさせていただきます。
記事編集 編集
Re: client denied by server configurationの解決方法 このメッセージに返信する
日時: 2013/07/05(Fri) 11:24
名前: ZED
URL:
とりあえず、大丈夫かと思いますよ〜
記事編集 編集

Page: | 1 | 2 |

件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -