使用 POST 请求与来自 netlify 的弹性 beantalk 通信

Posted

技术标签:

【中文标题】使用 POST 请求与来自 netlify 的弹性 beantalk 通信【英文标题】:Communicating with elastic beanstalk from netlify using POST requests 【发布时间】:2021-11-23 14:52:18 【问题描述】:

我正在 Netlify 上运行一个反应应用程序前端,理想情况下它应该以 POST 调用的形式将命令发送到弹性 beanstalk 后端。 Netlify 绑定到我自己购买的域名(myname.com),beantalk 运行的是默认地址(XXXXXX.elasticbeanstalk.com)。

现在的问题是 Netlify 不允许向不安全 (HTTP) 端点发送 POST 调用,并且要求端点为 https://XXXXX.elasticbeanstalk.com。我对 HTTPS 的实际工作原理知之甚少,因此以下任何内容都是我在黑暗中摸索,可能完全不正确。

我尝试了几种在 beanstalk 上启用 HTTPS 的方法

    在 beanstalk 上创建一个自签名请求并将证书上传到 netlify(显然他们不允许这样做) 在 beanstalk 上创建一个 CSR 并通过 let's encrypt 对其进行签名(不起作用,因为我认为 beanstalk 域不归我所有) 使用 Amazon 证书服务(证书已创建,但 netlify 仍然说它是自签名证书,并且无法允许连接)

有人知道怎么做

    允许 netlify 调用我的 HTTP 端点或 将 beanstalk 端点设为 HTTPS 或 建议一个不同的地方来托管我的不涉及这种 HTTPS 混乱的 react 前端应用程序

注意:在这一点上,我并不真正担心安全性,即使是不安全的平台现在也可以工作。

谢谢

【问题讨论】:

这给了你一个很好的提示docs.aws.amazon.com/elasticbeanstalk/latest/dg/… 问题是我自己的域绑定到netlify,beantalk使用默认地址,所以我无法正确配置证书 EB 上的 https 需要您自己的域。 【参考方案1】:

终于设法使用CORS-anywhere代理解决它,通过将端点添加为https://cors-everywhere.herokuapp.com/http://xxxx.elasticbeanstalk.com/my-endpoint

【讨论】:

以上是关于使用 POST 请求与来自 netlify 的弹性 beantalk 通信的主要内容,如果未能解决你的问题,请参考以下文章

部署在 Netlify 上的 Gatsby 站点未更新来自 graphcms 的数据

在 Netlify 函数中强制同源? (cors)

POST 请求的 HTTP 状态码 202 与 200

在发出 POST 请求之前等待来自外部 API 的数据

你能读到对来自 flash 的 POST 请求的回复正文吗?

Netlify 上的 Ruby 版本