因此,我已将 Nest.js 应用程序部署到 AWS Fargate。问题是当我访问公共 IP X.XXX.XXX.XXX 时,该网站无法打开。但是当我输入 X.XXX.XXX.XXX:3000 时,页面显示 Hello World!信息。现在我怎样才能让应用程序在 X.XXX.XXX.XXX 上显示它?
我已将应用程序的端口号更改为
main.ts
中的 80,然后我使用管理权限打开命令提示符并输入 npm start。 “你好世界!”显示消息。所以我的问题是,我是否需要修改 Fargate 任务安全组的入站规则以允许端口 80 上来自所需来源的流量?
当您使用
http://
访问公共 IP 时,浏览器将使用默认的 HTTP 端口,即端口 80
。当您通过 https://
访问它时,浏览器使用默认的 HTTPS 端口,即端口 443
。因此,如果您想直接访问您的应用程序,您应该通过默认的 HTTP 或 HTTPS 端口公开它,而不是端口 3000
。
请注意,您确实需要在 ECS/Fargate 应用程序前面有一个负载均衡器,正如我在回答 您的其他问题时提到的那样。负载均衡器可以处理将这些默认 HTTP/HTTPS 端口映射到您应用程序的端口
3000
。