所以我有一个 docker + NodeJS + ExpressJS 应用程序。它在端口 3888 上运行,但是我通过 Route53 将域指向服务器 IP 地址。
我遇到一个问题,如果我直接连接到 docker 应用程序的端口号来请求 mp3 文件 - 该文件由 GCS 流式传输到 nodeJS 应用程序,则一切正常。
但是当通过 NGINX 代理时,它有时会在 7 分钟有时在 20 分钟随机断开连接。
请注意,该文件长 60 分钟,但我们应该能够传输 3 小时长的音频文件。
这是我的代理代码
server {
listen 80;
server_name DOMAIN.COM;
location / {
client_max_body_size 4g;
proxy_pass http://localhost:3888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_connect_timeout 7200;
proxy_send_timeout 7200;
proxy_read_timeout 10800s;
}
}
所以我解决了这个问题(我相信)只是监控解决方案。
server {
listen 80;
server_name DOMAIN.COM;
location / {
proxy_pass http://localhost:3888;
}
}
虽然不完全是我想要的,但它确实解决了文件交付之前的结局。