J'ai Puma comme serveur d'applications en amont et Riak comme cluster de base de données. Lorsque j'envoie une requête qui réduit un morceau de données pour environ 25 000 utilisateurs et le renvoie de Riak vers l'application, j'obtiens une erreur dans le journal de Nginx :
upstream timed out (110 : Connection timed out) lors de la lecture du l'en-tête de réponse de l'amont
Si j'interroge mon amont directement sans proxy nginx, avec la même requête, j'obtiens les données requises.
Le délai d'attente de Nginx se produit une fois que le proxy est mis en place.
**nginx.conf**
http {
keepalive_timeout 10m;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
include /etc/nginx/sites-enabled/*.conf;
}
**virtual host conf**
upstream ss_api {
server 127.0.0.1:3000 max_fails=0 fail_timeout=600;
}
server {
listen 81;
server_name xxxxx.com; # change to match your URL
location / {
# match the name of upstream directive which is defined above
proxy_pass http://ss_api;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache cloud;
proxy_cache_valid 200 302 60m;
proxy_cache_valid 404 1m;
proxy_cache_bypass $http_authorization;
proxy_cache_bypass http://ss_api/account/;
add_header X-Cache-Status $upstream_cache_status;
}
}
Nginx dispose d'un grand nombre de directives de délai d'attente. Je ne sais pas si je manque quelque chose d'important. Toute aide serait très appréciée....