Nginx 1.1.4+は、HTTP1.1キープアライブディレクティブを使用してアップストリーム接続を提供できます。公式ドキュメントを参照してください(キープアライブクライアントの接続とは異なります)。したがって、Unicornの構成は次のようになります。
upstream unicorn {
server unix:/tmp/unicorn.todo.sock fail_timeout=0;
keepalive 4;
}
server {
try_files $uri/index.html $uri @unicorn;
keepalive_timeout 70;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
HTTP接続には次のヘッダーが必要です:proxy_http_versionおよびproxy_set_header。
それで、問題は、構成が有効であるか、それともソケット接続がそれ自体で永続的であるかということです。