【发布时间】: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