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」上等兵を参考にさせていただきました。