为了账号安全,请及时绑定邮箱和手机立即绑定

在 AWS ec2 中部署 Go 应用程序被拒绝连接

在 AWS ec2 中部署 Go 应用程序被拒绝连接

Go
收到一只叮咚 2022-06-01 17:35:21
我有一个编译好的 Go 项目,我想将它部署到 AWS EC2 实例。我只是简单地上传应用程序并./application在远程服务器上运行。在终端中,应用程序正在运行并说他正在收听localhost:3000.我已经将3000端口添加到安全组。但是,当我尝试在浏览器中使用 访问它时<public-ip>:3000,无论我是否运行该应用程序,它总是显示连接被拒绝。我尝试在本地运行该应用程序,它确实有效。那么是因为我部署不正确吗?
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

由于没有共享代码,因此很难为您提供帮助。

连接被拒绝的一些原因:

  1. 您的应用程序只监听 localhost:3000

  2. EC2 安全组不暴露端口 3000

怎么修:

  1. 大多数应用程序都在配置文件或环境变量上定义主机地址。如果您有权更改它,请将其从 localhost:3000 更改为 0.0.0.0:3000 以接受来自所有 IP 或 your_ec2_public_ip:3000 的连接

  2. 如果主机地址是硬编码的并且您可以访问代码,请按照上述更改代码

  3. 如果您无权访问配置或代码来更改主机地址,则添加反向代理以将传入呼叫路由到 localhost:3000。这是关于使用 Nginx 作为反向代理的一个很好的链接https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

  4. 确保 EC2 安全组允许指定端口的入站连接,在这种情况下,如果您设法将传入路由到 your_ip:3000,则为 3000


查看完整回答
反对 回复 2022-06-01
  • 1 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信