指向一个域以安全地连接到运行python应用程序的ec2实例

时间:2019-04-20 23:27:16

标签: amazon-web-services nginx https port

假设我有一个AWS ec2实例,该实例在某个端口(例如8000)上运行python应用程序。还可以想象我有一个域名,例如我拥有的www.abcd.com。要使我的网站使用https并安全地重定向到正在侦听端口8000的ec2上的应用程序,该怎么做?甚至有可能做到这一点,还是我之间需要像nginx这样的东西?

2 个答案:

答案 0 :(得分:2)

首先,您需要确保EC2在具有公共IP的公共子网中,并且还需要在您将其打到的任何端口上打开其安全组(8000)。此时,您应该可以在公共ip:port上运行您的应用程序。

现在,如果您想在使用域时执行上述操作,则将要使用AWS的Route 53 service。由此,您可以使用您的域创建DNS路由。您将要创建一条从application.example.com到实例公共ip的路由。这样做之后,您应该可以访问:application.example.com并单击您的应用程序。 In doing the following it is possible now to make your EC2 instance private

现在,如果您希望在此基础上包括HTTPS,最好的方法是create a public load balancer并附加证书,这将接受来自用户的HTTPS流量,然后通过HTTP将该流量转发到您的EC2上。选择的端口(8000)。 完成此操作后,您将需要更改Route53条目以使其指向负载均衡器,而不是直接指向EC2。

答案 1 :(得分:1)

是的,这完全有可能。

这是分步执行的过程:-

  • 您需要在Route-53个亚马逊服务上创建hosted zone
  • 然后,它使用ns与您的domain(无论您在何处注册)进行连接
  • 然后,您需要将ec2实例ip与托管区域连接起来
  • 现在您可以使用该域访问ec2实例,但不会是https
  • 对于https,您需要certificate,可从aws certificate-manager
  • 中获取。
  • 获得certificate后,请按照此博客How to set up HTTPS for your domain on AWS中的步骤进行操作。

    注意:-这只是一个超级要点,请遵循它,以寻求更多洞察力,以了解在具体情况下如何正确执行操作。我在使用elastic-beanstalk进行部署时遵循了这一步骤。