如何将S3托管前端连接到Elastic Beanstalk托管后端?

时间:2019-04-06 18:16:30

标签: node.js reactjs amazon-web-services amazon-s3 amazon-elastic-beanstalk

我已经在我的react应用程序上运行 npm build 并在AWS上打开了一个S3存储桶,将其更改为静态网站主机,并将react build文件夹的内容上传到其中。我现在可以访问前端部分。

我的后端(在node&express上运行)一起放在另一个包中。在整个开发过程中,我分别运行“ nodemon应用程序”和“ npm start”,并通过代理连接两者。

我之前使用过Elastic Beanstalk来运行一个Web应用程序,但是整个软件包以前都在一个应用程序中,因此我从来不需要连接2个服务器实例,因此我对如何使前端发送POST请求并进行连接一无所知从S3到EBS的websocket。

例如,我的前端通过以下方式连接到后端:

endpoint: 'http://localhost:3000'
this.state.io = socket.connect(this.state.endpoint);

我现在将其更改为EBS实例的域名吗?

我也将Axios用于POST请求。前端如何知道如何专门连接到我的EBS?

任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:1)

将端点设置为托管API的域。那应该是Elastic Beanstalk。为避免CORS问题,如果将它们全部都设置在一个域中,会更容易。为此,您可能需要CloudFront,或者可以采用快捷方式,并在对S3的Elastic Beanstalk代理请求中使用Apache。