AWS ELB 为 https://domain_name:8000 返回 404 但可通过

我是在 AWS 上部署 Web 应用程序的初学者,我相信我有一个与AWS 转发端口 8000 从 elb 到 EC2 端口 8000 的类似问题,我有一个 reactjs 前端和 golang api 在 aws ec2 上运行并且 golang api 正在运行在可通过我的 public_ip:8000 访问的端口 8000 上,当我访问 public_ip:8000 时,它给我消息说我的 golang api 正在运行。我使用弹性 IP 创建了 public_ip。

我使用负载平衡器来获取 HTTPS,因为我有一些只能与 HTTPS 一起使用的功能。但是,当我使用我的https://domain_name:8000向我自己的 API 发送请求时,它说它不存在并且在我使用 Application Load Balancer 时给我 404 错误。

我的域名使用 AWS 的 Route 53 和 AWS 名称服务器,应该没有问题,因为我被正确定向到我的正常域。我也添加了一条指向我的负载均衡器的 A 记录。

我检查了使用的安全组,并打开了我的 IP 地址的端口。

我的实例状态检查:

http://img4.sycdn.imooc.com/64901adb0001487c11050104.jpg

下面是我如何配置应用程序负载均衡器的目标组:

http://img1.sycdn.imooc.com/64901aeb000170ea07270079.jpg

对于我的侦听器,我使用 HTTP 80、HTTPS 443 和 HTTPS 8000 转发到我的目标组。

我已经尝试使用链接中提到的经典负载平衡器,但是当我使用我的域名时它们都会超时。

任何人都知道更好的连接方式或在 AWS 上构建我的 reactjs 前端和 golang 后端应用程序的更好方式,这些应用程序可能需要打开其他端口以供 api 访问。

我的经典负载均衡器端口转发配置:

http://img4.sycdn.imooc.com/64901af600015eec05960152.jpg

编辑:我注意到问题可能是我的目标组,因为它说端口 8000 不健康并且请求超时



蝴蝶刀刀
浏览 129回答 1
1回答

凤凰求蛊

找出端口需要很长时间,谷歌搜索或 AWS 文档都没有帮助,所以我将我的 reactjs 前端放在一个运行在端口 80 上的 EC2 实例中,并将我的服务器/golang API 放入另一个运行在端口 80 上的 EC2 实例中,然后如果调用 HTTP:80 或 HTTPS:443,则设置 Application Load Balancer 以使用前端转发到目标组,如果调用 HTTPS:8000,则使用 golang API 转发到目标组。确保实例与负载均衡器位于同一可用区,否则它将无法正常工作并确保一切正常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go