Saya menjalankan Puma sebagai server aplikasi upstream dan Riak sebagai cluster db latar belakang saya. Ketika saya mengirim permintaan bahwa peta-mengurangi sebagian data untuk sekitar 25K pengguna dan mengembalikannya dari Riak ke aplikasi, saya mendapatkan kesalahan di log Nginx:
upstream timed out (110: Connection timed out) saat membaca header respons dari upstream
Jika saya menanyakan upstream saya secara langsung tanpa proxy nginx, dengan permintaan yang sama, saya mendapatkan data yang diperlukan.
Batas waktu Nginx terjadi setelah proxy dimasukkan.
**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 memiliki banyak arahan batas waktu. Saya tidak tahu apakah saya melewatkan sesuatu yang penting. Bantuan apa pun akan sangat dihargai ....