質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

Apache2.4+PHP-FPM環境でのproxy_fcgi:error (22)Invalid argumentについて

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 13K+

score 39

以下の環境でWebアプリケーションを稼働させているのですが、ちょくちょくエラーログが記録されており、内容を調べてもちょっとわからないところがあったので、質問させていただきます。

■環境
・CentOS 7
・Apache 2.4.6
・PHP7.0.3 (PHP-FPMで実行)

PHP-FPMを実行するために、Apacheには以下の設定をしています。

<VirtualHost *:80>
  ServerName hoge.jp
  DocumentRoot /var/www/html

    # error settings.
    # ProxyPass /error !
    ProxyErrorOverride On
    ErrorDocument 503 /error/503.html
    ErrorDocument 404 /error/404.html

    #php-fpm settings.
    #phpMyAdmin用
    ProxyPassMatch ^/phpmyadmin/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/phpMyAdmin/$1
    ProxyPassMatch ^/phpmyadmin/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/phpMyAdmin$1index.php
    #ドキュメントルート以下のPHP用
    ProxyPassMatch ^(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
    ProxyTimeout 60
    DirectoryIndex index.php

</VirtualHost>

アプリケーションの内容は、PHPで画像を編集するものなので、現状は一見問題無さそうに動いています。
ユーザー問い合わせも特に無い状況ですが、エラーログの記録があるので、気になって調査中です。

エラーログの内容は以下です。

[Mon Mar 14 00:46:43.894126 2016] [proxy_fcgi:error] [pid 4626:tid 139748445882112] [client **.***.***.***:12610] AH01068: Got bogus version 122, referer: http://hoge.jp/
[Mon Mar 14 00:46:43.894217 2016] [proxy_fcgi:error] [pid 4626:tid 139748445882112] (22)Invalid argument: [client **.***.***.***:12610] AH01075: Error dispatching request to :, referer: http://hoge.jp/
[Mon Mar 14 00:46:57.008903 2016] [proxy_fcgi:error] [pid 4626:tid 139748319991552] [client **.***.**.**:36604] AH01068: Got bogus version 253, referer: http://hoge.jp/
[Mon Mar 14 00:46:57.008997 2016] [proxy_fcgi:error] [pid 4626:tid 139748319991552] (22)Invalid argument: [client **.***.**.**:36604] AH01075: Error dispatching request to :, referer: http://hoge.jp/
[Mon Mar 14 00:47:11.619729 2016] [proxy_fcgi:error] [pid 4626:tid 139748672485120] [client **.***.***.***:12630] AH01068: Got bogus version 122, referer: http://hoge.jp/
[Mon Mar 14 00:47:11.619848 2016] [proxy_fcgi:error] [pid 4626:tid 139748672485120] (22)Invalid argument: [client **.***.***.***:12630] AH01075: Error dispatching request to :, referer: http://hoge.jp/
[Mon Mar 14 00:47:21.925547 2016] [proxy_fcgi:error] [pid 4626:tid 139747858392832] [client **.***.**.**:36653] AH01068: Got bogus version 253, referer: http://hoge.jp/
[Mon Mar 14 00:47:21.925648 2016] [proxy_fcgi:error] [pid 4626:tid 139747858392832] (22)Invalid argument: [client **.***.**.**:36653] AH01075: Error dispatching request to :, referer: http://hoge.jp/

常に出るわけではなく、アクセスの多い時によく出ているような印象です。
アクセスが少ない時は1時間に1件ある程度だったりするので、何らかの条件をもったリクエストに対して発生しているような気がしますが、Apacheのaccesslogの方で同時刻帯のログを調べても、502や503エラーなどは出ていないので、原因は不明のままです。

エラーログのキーワードを検索したところ、下記のような記事を見つけました。

http://serverfault.com/questions/708438/what-is-this-error-in-apache-error-log

http://stackoverflow.com/questions/29089683/virtualhost-on-apache-2-4-with-php-fpm-getting-proxy-fcgierror

しかし、いずれも解決に至っていないようです。

こういったエラーの原因について、どなたかご存知でしたら、ご回答いただけますと幸いです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

Red hatのナレッジに情報があります。

https://access.redhat.com/solutions/1311233

一番簡単な解決策にはこう書いてありましたので、試してみてはいかがでしょうか。

「The simplest solution is simply to add "disablereuse=on" to the ProxyPassMatch line to ensure the connecting pipe is torn down each time.」

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/03/15 17:58

    SetEnv force-proxy-request-1.0 1
    SetEnv proxy-nokeepalive 1

    こちらをProxyPassMatch の次に追記し、Apache再起動して様子を見てみました。

    するとやはり同様のエラーログが出ているのですが、変更前よりは多少頻度が減ったような印象があります。

    ※GoogleAnalyticsのセッション数が500/h程度のアクセスあたり、1~2回発生していたのが半分程度になりました。
     時間的なサンプルはまだ少ないのでなんとも言えないですが…。

    なお、この現象を調査中に自分のIPでも同じエラーログを発生させたことを確認出来たのですが、おそらく、リクエスト直後に一旦ブラウザバックする等の若干イレギュラーな操作を行った時に発生したように思います。再現性はありませんでしたが…。

    通常操作において動作に問題無いのは確かなようなので、この頻度であれば許容していっても良いのかもしれないですね。

    キャンセル

  • 2016/03/16 10:57

    続報ありがとうございます。
    頻度は減ったがまだ出る、という事はまだ別な要因があるのかもしれませんね。

    https://bz.apache.org/bugzilla/show_bug.cgi?id=57398

    こちらを見るとApache:2.4.10でもバグジラが切られていて未解決なので、
    バージョンアップで出力されなくなる様な問題でも無さそうですね・・。

    現状オンラインリクエストへの影響が無いのであれば、静観、許容としても良いかも知れませんね。

    キャンセル

  • 2016/03/16 11:51

    色々とアドバイスありがとうございました。
    いただいた記事も、参考にさせていただきます。

    実際のところ、まったく影響が無いのかについては不明のままでありますので、
    PHP-FPMではなくApacheモジュールに変えることも視野に入れようと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る