0

由于亚马逊的论坛在发布此问题时发生了错误。504关于特定POST请求的网关超时

我们使用Elastic Beanstalk运行单个nodejs(api)实例。 使用4个月后,突然发出用户创建用户请求失败并出现504网关超时。与此同时,没有对代码或弹性beanstalk配置进行任何修改。 其余请求正常工作。在本地测试时没有错误。 在nginx错误日志中发生以下情况: 上游超时(110:连接超时),从上游读取响应标头。 尝试了Apache作为代理,这给了一个类似的错误。

环境

  • 64位Linux的亚马逊V2.1.0 2016.03 Node.js的运行
  • 4.3.0的NodeJS
  • Nginx的1.8.1

尝试几乎所有的东西,我们都出来了之后选项。 有什么建议吗?

由于提前, 马可福音

+0

当试图从本地服务器运行它时,发布请求是否工作?尝试到服务器(您可以使用eb cli执行此操作)并将您的请求发布到localhost:。 –

+0

闪到我的服务器,并通过使用localhost:8081和远程eb url尝试发布请求。 使用wget我在尝试localhost时得到以下响应: 发送HTTP请求,等待响应...没有收到数据。 尝试远程eb网址时,我得到了504网关超时。 – mkshake

+0

@mkshake你解决了这个问题吗?我有类似的问题 – demsey

回答

0

如果您使用的是ELB,尝试“空闲超时”设置为较高的时间值。您可以使用AWS CLI做到这一点:

aws elasticbeanstalk update-environment --environment-name your-env-name --option-settings Namespace=aws:elb:policies,OptionName=ConnectionSettingIdleTimeout,Value=300 

我不知道,如果你可以从UI做到这一点,但我不这么认为。

+0

目前我们没有运行负载平衡器。 ConnectionSettingIdleTimeout选项专供负载平衡器使用。 我玩了很多nginx代理超时,但我不认为增加这个值将解决这个问题,因为POST请求只需要在112ms和1500ms之间完成。 – mkshake