ฉันมี Puma ทำงานเป็นเซิร์ฟเวอร์แอปต้นน้ำและ Riak เป็นคลัสเตอร์ฐานข้อมูลพื้นหลังของฉัน เมื่อฉันส่งคำขอให้แผนที่ลดจำนวนข้อมูลสำหรับผู้ใช้ประมาณ 25K และส่งคืนจาก Riak ไปยังแอปฉันได้รับข้อผิดพลาดในบันทึก Nginx:
อัปสตรีมหมดเวลา (110: หมดเวลาการเชื่อมต่อ) ขณะอ่านส่วนหัวการตอบสนองจากต้นน้ำ
หากฉันสอบถามต้นน้ำโดยตรงโดยไม่ใช้ nginx proxy ด้วยคำขอเดียวกันฉันจะได้รับข้อมูลที่ต้องการ
การหมดเวลาของ Nginx จะเกิดขึ้นเมื่อใส่พร็อกซี
**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 มีคำสั่งการหมดเวลามากมาย ฉันไม่รู้ว่าฉันพลาดสิ่งสำคัญไปหรือเปล่า ความช่วยเหลือใด ๆ จะขอบคุณมาก ....