1

在 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 连接在一分钟后继续被丢弃。

谁能指出我做错了什么或者我接下来可以尝试什么?

请,任何帮助将不胜感激。

4

0 回答 0