【问题标题】:Access an AWS EC2 instance from Amazon S3 bucket从 Amazon S3 存储桶访问 AWS EC2 实例
【发布时间】:2018-06-12 22:06:38
【问题描述】:

我有一个托管在 Amazon S3 存储桶中的静态网站。该网站使用 PouchDB (javascript) 从托管在 EC2 实例中的 (Bitnami) CouchDB 获取数据。

EC2 实例的入站规则配置为允许 SSH、HTTP 等流量,包括 CouchDB 端口 5984。

我可以从浏览器打开(EC2 托管的)CouchDB(Fauxton),能够创建/修改内容,但来自 S3 的静态网站中的 javascript 无法访问 EC2。

PouchDB 抛出错误“超时”。

我需要在 EC2 中配置任何其他内容吗?

谢谢

【问题讨论】:

  • 您是说静态网页(在您的计算机上的浏览器中运行)正在尝试连接到端口 5984 上的远程 CouchDB 以同步到后端?浏览器控制台中是否显示任何错误? EC2 实例上的安全组设置是什么——是否允许来自0.0.0.0/0 的 5984?您需要提供更多信息,以便任何人能够为您提供帮助。
  • 静态网站不在我的计算机中,而是托管在 S3 中。是的,我正在尝试连接到远程 CouchDB(我之前使用的是免费的微笑 CouchDB 托管,它工作得非常好.. ).. 是的,正如我的查询中提到的,我的实例允许 5984 端口用于 0.0.0.0.. 希望这会有所帮助!
  • 您的数据库实例是否在公有子网中并且可以从 Internet 访问?
  • “静态网站”是从 S3 下载的,但在您的浏览器中运行。没有代码在 Amazon S3 上运行。因此,尝试访问后端数据库的是您计算机上的浏览器(运行从 S3 下载的代码)。如果你把浏览器放在Developer Mode,你能在控制台看到任何错误吗?网络选项卡是否显示超时?
  • 您是否启用了 CORS?如果您的邮袋客户端尝试访问其他主机,则需要启用此功能。

标签: amazon-web-services amazon-s3 amazon-ec2 couchdb


【解决方案1】:

S3 是一个简单的存储服务,只能用来存储数据。 S3 上没有运行任何东西。您从 S3 提供服务的网站在您的本地系统上运行。将 EC2 实例配置为接受来自 Web 的流量,即在安全组中允许 0.0.0.0/0

【讨论】:

  • 我已完成上述所有配置建议。CORS 已启用,EC2 实例在所有已知端口上打开,包括 5984(由 CouchDB 使用)。 PouchDB 仍然抛出错误(在 chrome devtool 控制台中)“超时”
  • 发现问题...罪魁祸首是我公司的企业防火墙/代理,我尝试从中访问该网站..在我的手机中打开该网站时运行良好..感谢您的所有答案
猜你喜欢
  • 2016-01-22
  • 2014-07-28
  • 2020-11-02
  • 2016-03-07
  • 2019-09-29
  • 1970-01-01
  • 2016-05-18
  • 2020-10-15
  • 2019-05-02
相关资源
最近更新 更多