Connexion en amont maintenue à Unicorn via socket

Nginx 1.1.4+ peut servir de connexion en amont avec la directive HTTP1.1 keepalive , voir la documentation officielle (ce n’est pas la même chose que les connexions des clients maintenus). Ainsi, la configuration Unicorn peut ressembler à ceci:

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 ""; } } 

Ces en-têtes sont requirejs pour la connexion HTTP: proxy_http_version et proxy_set_header .

La question est donc de savoir si la configuration est valide ou si la connexion par socket est permanente par elle-même?

Oui, c’est valide. Il n’y a pas de différence entre UNIX-socket et TCP / IP-socket en termes de HTTP Keepalive.

Unicorn ne prend pas en charge la connexion persistante (persistante) par conception. Donc, vous ne devriez pas essayer d’utiliser une connexion persistante (persistante) au backend licorne.