13)Permission denied: [client ipaddress:port] AH01257: unable to connect to cgi daemon after multiple tries~ 意外な原因 | クズリーマンのカス備忘録

13)Permission denied: [client ipaddress:port] AH01257: unable to connect to cgi daemon after multiple tries~ 意外な原因

apache logo Apache
スポンサーリンク

環境

  • RHEL9
  • Server version: Apache/2.4.57 (Red Hat Enterprise Linux)
  • perl v5.32.1

事象

ss

Apacheで、perlスクリプトで組んだ.cgi ファイルに、
Webブラウザでアクセスしても、

Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

になっちゃう。

error_logを見ると、

13)Permission denied: [client ipaddress:port] AH01257: unable to connect to cgi daemon after multiple tries~

みたいなログが記録されている。

原因

Apacheのconfにて、

  • User ディレクティブ
  • Group ディレクティブ

が、デフォルトの「Apache」から他の一般ユーザー名に変更していたことだった。

意外~!!

もちろん、

  • cgiファイルや、その親、祖父ディレクトリのパーミッションや、ユーザーグループには問題ない状態だった
  • firewalld や iptables や、 ウイルスソフトは全部OFFにして試した

あたりは干渉していない状態でこの事象が出た。なので、 UserやGroupを変えたことが原因。

AIに聞いたら、

Apacheは通常、特定のユーザー(この場合はapache)として実行されます。このユーザーは、Apacheがインストールされたときに作成され、Apacheがファイルシステムにアクセスするための権限を持っています。

一方、kuzuユーザーはApacheのインストール時には存在しない可能性があり、Apacheが必要とする特定の権限を持っていない可能性があります。そのため、Apacheがkuzuユーザーとして実行されると、Apacheが必要とする操作(例えば、CGIスクリプトの実行)が制限され、エラーが発生する可能性があります。

とかゆってた。

対処

UserとGroupをデフォルトのapacheにする。

スクリプトやらのパーミッションもそれに合わせて調整する。

Ubuntu20.04 LTS環境だと、別の対応をしている記事があった

コメント

タイトルとURLをコピーしました