我已成功运行 Java servlet 应用程序测试,该应用程序在 Amazon AWS Elastic BeansTalk 提供的基本示例应用程序上运行。 Java-Gradle-Jetty 平台。 现在,无论我做什么,我都无法让 servlet 与客户端保持连接超过 50 秒。 我试过的东西。 Nginx proxy_read_timeout 有效! proxy_send_timeout 不起作用。 负载平衡器空闲超时确实有效.. keepalive_timeout 不起作用。
我试过这些设置和其他一些设置,所以我越来越熟悉并且可以限制或增加超时,但仅限于 50 秒。通过我收到 504 Bad Gateway 错误,这意味着连接已关闭。 我还在 nginx 服务器的 error.log 中收到此错误。 {sometime} [error] 23115#0: *2 upstream timed out (110: Connection timed out) while reading response header from upstream, client: {Some IP}, server: ,请求:“GET/{some path} HTTP/1.1”,上游:“http://127.0.0.1:5000/publish”,主机:“{Some Load Balancer URL}.us-west-1.elb.amazonaws.com”
我将不胜感激,我已经度过了几个不眠之夜。
最佳答案
它最终成为需要传递到 location 部分下的 nginx 配置文件的两个属性。
proxy_send_timeout 和 proxy_read_timeout
只需将它们设置为您想要的任何时间(以秒为单位)并结合 ELB(负载均衡器)超时。
希望它对某人有用。
关于java - AWS Elastic BeansTalk Nginx 超时 504 错误网关 - Java Servlet AsyncContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42011788/