【发布时间】:2019-08-10 12:00:59
【问题描述】:
我的名字是 Diego,这是我在网站上提出的第一个问题。我是阿根廷人,所以,对不起我的英语不好。
四个月前我被介绍到 Amazon Web Services (AWS),我曾使用过 EC2、S3、Route53、IAM 等服务。
现在,我有下一个场景:
- 一个 EC2 (1),一个基于 React(前端)和 Node.js(后端)的网站
- 一个 EC2 (2),带有一个基于 React Native 和 Express.js 的 web 应用程序
在 Route53 中,我注册了指向第一个 EC2 的 domain.com(网站,在 端口 80 上),并且 webapp 在第二个 EC2 上运行端口 3000。
经过几天的搜索和阅读(我会把链接放在帖子末尾)我来这里解决疑问。
问题如下:
当我访问 domain.com 时,我会进入网站,因此,一些路径如 /home、/services、/ourworks、/team 等。 将成为其中的一部分。但是……如果bar后面的不是这个的话,我需要把用户发送到第二个EC2的port 3000,也就是网络应用。之后,webapp 就会知道如何处理路由。
所以...
路由此场景的最佳方式是什么?
我读过:
-使用 .htaccess 来路由路径和端口。在上一个场景中这很好,当时网站是一个 Wordpress 网站,但现在网站基于 React 和 Nodejs,所以我们不再使用 Apache,所以这个解决方案对我来说没用。
-使用 Application Load Balancer (ALB) 的路由。这很好,但是这个服务的价格太贵了,所以我现在不能用这个。
-使用API Gateway服务的路由,但是看了很多,找不到官方文档说明如何使用API Gateway直接路由到EC2服务器。所有文档都谈到 API REST 或带有 WebSockets 的 API,带有 DynamoDB 或 Lambda 服务。这些对我都没有用。我不明白如何将 API Gateway 用于我的目的。
-在 domain.com 指向的 EC2 上使用 NGINX,并从该点路由路径。这也许是一个很好的解决方案,但我从未使用过这个软件。
所以,我现在很困惑。 谁能告诉我哪个是我的问题的最佳解决方案,为什么?我将非常感激。
这些天我读过的链接:
-Redirecting with htaccess to nodejs app(不知道用Apache好不好)
-https://www.reddit.com/r/aws/comments/71lz5v/applications_routing_based_on_url/(这是Reddit上的好帖子)
-https://aws.amazon.com/es/blogs/aws/new-host-based-routing-support-for-aws-application-load-balancers/(用ALB,花了不少钱,哈哈)
-AWS Route 53 - Domain name route to different ports of an Application load balancer(更多 ALB,但这太有趣了)
-https://forums.aws.amazon.com/thread.jspa?threadID=152643(这是和我最相似的场景,但是可怜的人,从来没有得到答案)
好的,感谢大家的阅读,如果我违反了论坛上的任何规则,请原谅我。再见! :)
【问题讨论】:
标签: node.js amazon-web-services amazon-ec2 path routing