誰かがこれに光を当てることができることを願っています。wicked_pdf ライブラリを使用して PDF を生成する Rails 2 アプリがあります。nginx によってプロキシされたユニコーンの下でアプリを実行しています。
問題は、アプリが PDF を提供しようとするたびにタイムアウトし、nginx が 404 を報告することです。ユニコーン ポートを介してアプリを確認したところ、正常に動作するため、ユニコーンと nginx の間で何かが発生しているため、これが失敗します。
ログ ファイルは有用な情報を報告していません。アプリケーションログはすべてを正常に報告するだけで、Sending data
行を出力しません。nginx ログ レポート*443 upstream prematurely closed connection while reading response header from upstream, client
.
Unicorn エラー ログは、接続がタイムアウトし、ワーカーが強制終了されていることを報告していますが、PDF の生成には 30 秒かかりません。
worker=2 PID:14099 timeout (31s > 30s), killing
reaped #<Process::Status: pid=14099,signaled(SIGKILL=9)> worker=2
worker=2 ready
サイトの nginx 構成で何かが欠けているように感じますが、どこから調べればよいかわかりません。
以下のnginx構成を含めました:
server {
listen *:80;
server_name server_name.example.com;
root /var/apps/application/current/public;
try_files /system/maintenance.html $uri $uri/index.html @app;
location @app {
proxy_pass http://unix:/tmp/application.sock;
proxy_set_header Host $http_host;
}
error_page 404 400 500 502 /error.html;
location = /error.html {
root /var/www;
}
}