假设我有一个AWS ec2实例,该实例在某个端口(例如8000)上运行python应用程序。还可以想象我有一个域名,例如我拥有的www.abcd.com。要使我的网站使用https并安全地重定向到正在侦听端口8000的ec2上的应用程序,该怎么做?甚至有可能做到这一点,还是我之间需要像nginx这样的东西?
答案 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)
是的,这完全有可能。
这是分步执行的过程:-
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
进行部署时遵循了这一步骤。