在 Elastic Beanstalk 和 Application Load Balancer 后面,我在 Embedded Jetty 上有一个 WebSockets 应用程序。
Platform: Java 8 running on 64bit Amazon Linux/2.10.1
问题是连接在一分钟后被断开。尽管如此,我已经将 Application Load Balancer 的空闲超时设置为 300 秒(这是 Jetty 的默认超时)。
因此,我做了一些研究,我现在认为这是 Nginx 施加的超时,所以我按照这里的答案。
我无法使用这样格式的 .ebextension 进行部署。Elastic Beanstalk 会告诉我要替换的文件不存在。之后,我遇到了这篇文章,所以我想出了以下脚本:
files:
"/etc/nginx/conf.d/01_increase_timeouts.conf":
mode: "000644"
owner: root
group: root
content: |
keepalive_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
container_commands:
nginx_reload:
command: "sudo service nginx reload"
这样,我现在就可以部署了。但是,WebSockets 连接在一分钟后继续被丢弃。
谁能指出我做错了什么或者我接下来可以尝试什么?
请,任何帮助将不胜感激。