如何从本地向AWS EC2实例部署的Nodemailer服务发送HTTP POST请求
你写的本地POST请求逻辑本身没有语法错误,但部署到AWS EC2后要调整如下配置才能正常调用:
- 配置EC2安全组入站规则,放开TCP 5000端口的访问权限,测试阶段可临时允许所有IP访问,验证通过后再限制为仅你前端的部署IP/本地公网IP可访问,避免端口暴露风险
- 调整Express服务的监听配置,不要绑定127.0.0.1,要监听0.0.0.0地址,代码示例:
app.listen(5000, '0.0.0.0', () => console.log('服务启动成功')),否则外部请求无法访问到EC2上的服务 - 本地请求的接口地址要从
http://localhost:5000/xxx替换为http://<你的EC2公网IP>:5000/xxx,如果后续给EC2绑定了域名、配置了HTTPS,再对应替换协议和地址 - 给Express后端配置跨域规则,安装
cors中间件后,允许你本地前端开发地址(比如http://localhost:3000)的跨域请求,否则浏览器会拦截跨域调用 - 建议用pm2管理Node进程,避免SSH窗口关闭后服务停止,安装命令为
npm install pm2 -g,启动服务命令为pm2 start 你的服务入口文件.js,还可配置pm2开机自启,保证服务24小时稳定运行
内容的提问来源于stack exchange,提问作者Sharmik Hirpara
相关产品推荐
相关产品推荐

