Nginx + fcgiwrap + Python の環境を作り、Python スクリプトを CGI として実行できるようにしたのですが、error.log に下記のエラーメッセージが表示されてしまい、ページが全く表示されない状況になってしまいました。
2022/10/14 11:51:04 [error] 19946#19946: *43 upstream prematurely closed FastCGI stdout while reading response header from upstream, client: (IPアドレス), server: _, request: "GET (uri) HTTP/1.1", upstream: "fastcgi://unix:/var/run/fcgiwrap.socket:", host: "(ホスト名)"
CGI として動作させたい Python スクリプトにエラーがあると、このエラーが表示されてスクリプトの実行が止まってしまうことがわかりましたので、ソースコードを徹底的にチェックしてエラーが出ないようにしたのですが、それでもエラーメッセージが表示されてしまいました。
少々時間を浪費してしまいましたが、ふと、ヘッダーに Content-Type を出力したあとの空行を出力していないことに気が付き、空行を出力するようにしたところ、エラーは解消しました。
修正前
print('Content-Type: text/html; charset=utf-8')
修正後
print('Content-Type: text/html; charset=utf-8')
print('')
本当にポカミスでした。
0件のコメント