首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在80/443端口上运行EC2的web服务器

问如何在80/443端口上运行EC2的web服务器
EN

Server Fault用户
提问于 2019-02-10 19:26:49
回答 1查看 885关注 0票数 -1

我有一个可以通过键入http://EC2 IP:3838/My_app来访问的应用程序。但我需要一个域名,而不是这个地址,因此购买了一个域名服务,并将其链接到EC2 IP。现在,我可以通过我的-dns-名称: 3838/My_app访问该应用程序,但在域名末尾有3838/My_ app是不寻常的。我被告知“如果你想让人们只使用域名访问你的应用程序,你需要改变你的应用程序的端口,或者在端口80/443上运行一个可以重定向用户的web服务器”。有人能帮我吗?

到目前为止,我就是这样做的:为了部署我的闪亮应用程序,我在AWS中创建了一个EC2 IP,然后安装了闪亮的服务器和Rstudio,这样我就可以部署我的应用程序了。现在我有了一个具有以下链接的IP (我使用的是MyIP而不是IP号):

MyIP:3838打开闪亮的服务器MyIP:8787打开Rstudio :3838/ my _app打开我的应用程序,然后从路由53创建一个托管区域,并将EC2 IP链接到我的域名。

谢谢

EN

回答 1

Server Fault用户

发布于 2019-02-11 00:45:47

首先,看起来你选择了一个错误的托管平台。AWS EC2对于您试图解决的任务来说过于强大和灵活。如果您的任务仅限于托管一个简单的web应用程序,那么您应该使用一些更简单的东西,比如赫茨纳网站托管,它包含的所有内容都以非常小的价格包括在内。

如果您仍然想坚持使用AWS,您可以选择:使用AWS服务或自己做任何事情。如果您想以AWS的方式来实现它,那么您应该在应用程序前面创建一个负载平衡器。AWS将负责所有事务:端口重定向和SSL证书,这是端口443所需的。但是,老实说,负载均衡器对于单个EC2实例配置来说有点过分。而且,由于负载平衡器不是免费的(不过SSL证书是免费的),这将增加您的开销。

如果您不想为负载均衡器付费,那么您需要遵循注释中给您的建议--这意味着您必须为它设置一个HTTP和一个SSL证书(我建议使用莱斯加)。如果你愿意付钱,那么你需要做以下几件事:

  1. 转到亚马逊证书管理器并为您创建的域(用my-dns-name替换的域)请求一个新的证书。当您开始执行时,AWS将为您提供关于如何验证您的域的详尽说明。
  2. 转到EC2 ->负载平衡器并创建一个经典负载均衡器。为它创建两个侦听器:一个用于从端口80到3838的HTTP,一个用于从端口443到3838的HTTPS。将先前获得的SSL证书附加到第二个侦听器。
  3. 将您的EC2实例附加到您创建的负载均衡器。
  4. 转到Route53,删除指向EC2实例的记录,并将其替换为指向负载均衡器的DNS名称的CNAME记录。或者,您可以创建一个A记录,让它成为一个别名,并指向负载均衡器(这是更多的AWS方式)。

如果您已经正确地完成了所有操作,那么http://my-dns-name/My_app和https://my-dns-name/My_app都应该可以访问您的站点。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/953246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档