如何使用路由53,Cloudfront分布和弹性beantalk修复504错误

时间:2019-06-29 23:30:36

标签: amazon-cloudfront amazon-elastic-beanstalk amazon-route53

我无法使用弹性beantalk,cloudfront分发和路由53使我的nodejs api工作。我需要我的api在SSL后面运行,这就是为什么我使用cloudfront分发。我有以下设置。

当我访问我的API https://api.mydomain.com时,我收到一条带有以下错误消息的504。

我的api在其上运行的实际URL(成功地,将nodejs Elastic与beantalk一起使用)为http://dummy-env.n1eijsdai.eu-west-1.elasticbeanstalk.com。我只想将该URL与SSL一起屏蔽为api.mydomain.com

有什么地方我做错了吗/您能建议尝试什么吗?

仔细查看cloudfront的配置,这看起来很奇怪,图中显示了以S3为前缀的设置,但是此api不在S3上(至少直接在它上面),它由弹性beantalk托管。

cloudfront setting that mentions S3 in the value, it's in beanstalk (not S3)

谢谢

错误消息

504 ERROR
The request could not be satisfied.
CloudFront attempted to establish a connection with the origin, but either the attempt failed or the origin closed the connection. 
If you received this error while trying to use an app or access a website, please contact the provider or website owner for assistance. 

53号公路

  • 名称= api.mydomain.com
  • 类型=(A)别名目标= wqsdn31817

CloudFront发行版

  • 域名= wqsdn31817

  • origin = dummy-env.n1eijsdai.eu-west-1.elasticbeanstalk.com(如果我访问此网址,则我的api正在运行)

  • SSL证书= api.mydomain.com

  • 状态=已部署

  • 来源设置/原始域名= http://dummy-env.n1eijsdai.eu-west-1.elasticbeanstalk.com

  • 来源设置/原始协议策略=仅HTTPS

弹性豆

  • Nodejs api(使用Express)

  • 在beantalk中,环境ID:e-1nasn4,URL:dummy-env.n1eijsdai.eu-west-1.elasticbeanstalk.com

1 个答案:

答案 0 :(得分:1)

CloudFront仅在无法建立TCP连接或HTTP第一个字节响应所花的时间超过原始读取/响应超时中配置的时间时才服务504。

您的应用程序直接与beantalk链接一起使用还是基于IP的安全组限制?