ウェブサーバ apache - ログ解析 awstats - Service Unavailable


 


1. 概要
2. 状況
3. 調査
4. 応急処置
5. 参考サイト

1. 概要

 発生は、2026年10月6日。  「FreeBSD 15.1 RELEASE-p1」上でのことです。

2. 状況

 毎日チェックをしておるのですが、チェックをしようとしたら。  ブラウザに。

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
 と表示されます。  「apache」のエラーログには、下記のように残っています。

[Tue Oct 06 10:39:26.914251 2026] [cgid:error] [pid 56460:tid 34368884752] (22)Invalid argument: AH01248: Error reading request on cgid socket
[Tue Oct 06 10:39:26.914433 2026] [cgid:error] [pid 56504:tid 34368964624] [client 119.47.179.101:62752] AH01261: daemon couldn't find CGI process for connection 213
[Tue Oct 06 10:39:26.914452 2026] [cgid:error] [pid 56504:tid 34368964624] (20014)Internal error (specific information not available): [client 119.47.179.101:62752] AH10246: stderr from /usr/local/www/awstats/cgi-bin/awstats-mine.pl: failed reading PID from cgi daemon
 そういや、「apache24」のアップデートがあったな・・・。

3. 調査

 あれこれと調査したのですが、決め手と思われるのが。

ps -axo pid,ppid,user,command | grep [h]ttpd
 で、「apache」のプロセスの状況を調べて、まぁこんな感じでしたが・・・。

60728     1 root     /usr/local/sbin/httpd -DNOHTTPACCEPT
60729 60728 www      /usr/local/sbin/httpd -DNOHTTPACCEPT
60732 60728 www      /usr/local/sbin/httpd -DNOHTTPACCEPT
60733 60728 www      /usr/local/sbin/httpd -DNOHTTPACCEPT
60734 60728 www      /usr/local/sbin/httpd -DNOHTTPACCEPT
60741 60728 www      /usr/local/sbin/httpd -DNOHTTPACCEPT
 この中のプロセスを当てるのが難しいのですが、当たったのが。

sudo truss -f -p 60732 2>&1 | grep -E 'recvmsg|ERR'
 としておいて、「awstats」にブラウザでアクセスすると。

60732: accept4(0x5,0x7fffdcba1e10,0x7fffdcba1df0,0x10000000) ERR#35 'Resource temporarily unavailable'
 てなことになります。  「Claude」上等兵のいうことにゃ。
2.4.69 の mod_cgid そのものが、この環境では動かないと考えるのが自然です。2.4.69 で mod_cgid のリクエスト検証やソケット処理が変わり、それによる不具合(リグレッション)が起きている可能性があります。
 「2.4.69」というのは、このときの「apache」のバージョンです。
当面は応急処置をして運用し、apache24 が次に更新されたら mod_cgid に戻して確認するのがよいと思います。

4. 応急処置

 ということで、応急処置。  「mod_cgid」でエラーになっているので、「mod_cgi」を動作させます。

sudo vi /usr/local/etc/apache24/httpd.conf
 編集してしまっているので、行番号は、アバウトなものになりますが。

<IfModule !mpm_prefork_module>
       LoadModule cgid_module libexec/apache24/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
       LoadModule cgi_module libexec/apache24/mod_cgi.so
</IfModule>
 の記述をコメントアウトして、下記の行を追加します。

LoadModule cgi_module libexec/apache24/mod_cgi.so
 これで、「apache」を再起動すれば、動作します。

5. 参考サイト

 本ページは、「Claude」上等兵を参考にさせていただきました。

audiobook.jp
EaseUS
earthcar(アースカー)
薬屋の独り言
U-NEXT
JETBOY
アフィリエイトのアクセストレード
ネットオークションの相場、統計、価格比較といえばオークファン
損保との違い
それがだいじWi-Fi
サウンドハウス
TikTok Shop 【リピート用プログラム】
5G CONNECT
Amazonギフトカード
【usus ウズウズ】
ベルリッツ
健康サポート特集
葬送のフリーレン Prime Video
ハイスピードプラン