【发布时间】:2021-09-11 01:52:15
【问题描述】:
我有一个 3 层应用程序。 React 作为前端,flask 作为后端,MySQL 作为数据库。我完成了申请,并在当地运作良好。然后我将此代码推送到 AWS 实例以实现高可用性,但出现此错误。
xhr.js:160 POST http://localhost:5000/authenticate net::ERR_CONNECTION_REFUSED
这是我的后端代码库
@app.route('/authenticate', methods=['POST'])
def singing():
if __name__ == "__main__":
app.run(host='0.0.0.0')
前端:
handleSubmitClose(){
axios.post('http://localhost:5000/authenticate', {
"username": this.state.username,
"password": this.state.password,
})
.then((response) => {
console.log("response of HandleSubmitClose - Main Page")
console.log(response);
它们都在同一个 ec2 实例和同一个 docker 内。我无法理解即使他们都在同一个实例上,为什么 Axios 无法获取烧瓶主机名或者我在这里遗漏了什么。
技巧: 如果我将 Axios 从 localhost 更改为我的 ec2 公共 IP,它可以工作。但这不是一个好的解决方案,因为我将此实例放入自动缩放组中,我不知道公共 IP 或者它将是动态的。所以,这个解决方案是不可行的
【问题讨论】:
标签: javascript reactjs flask axios n-tier-architecture