【问题标题】:Making an application at ec2 accessible from the Internet使 ec2 上的应用程序可从 Internet 访问
【发布时间】:2014-03-16 15:01:28
【问题描述】:

我有一个 ec2 免费实例以及弹性 IP、S3 和 RDS。在/home/ubuntu 有一个包含我的应用程序源代码的文件夹。我在这个文件夹中运行一个内置服务器:

$ /home/ubuntu/my_app play run

它在端口9000my_app 文件夹)运行。我在 route53 有 A 和 CNAME 记录,但它们指向 s3 的静态 html 页面存根,我这样做是为了简单起见,当然,它们不应该指向静态页面。

我想知道,如何让这个正在运行的 Play 应用程序从外部可见?我不知道在 ec2(或 route53)中的哪个位置查找和设置它。显然,我希望它可以在不指定端口 (my_custom_domain.com:9000) 的情况下以 my_custom_domain.com(我拥有)的身份访问。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 hosting


    【解决方案1】:
    1. 要将端口从 9000 更改为 80 - 如果您在 ubuntu 上工作,您可以使用 iptables

      sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 9000
      

      这会将来自端口 9000 的所有流量路由到端口 80

    2. 将您的弹性 IP 从 documentation 映射到 my_custom_domain.com

    在您的托管区域中创建资源记录集。对于类型,选择 A – IPv4 地址。对于值,指定您的弹性 IP 地址 亚马逊 EC2 实例。有关创建资源的更多信息 记录集,请参阅使用资源记录集。


    如果您想在同一台服务器上运行多个应用程序,每个应用程序在不同的端口上,但在不同的 DNS 上为它们提供服务(例如:http://www.my_domain.com 用于端口 8080,http://m.my_domain.com 用于端口 8081),您可能想使用ELBs,它可以将端口从80端口转发到应用程序端口。

    使用此配置,您可以将每个 ELB 映射为 AliasRoute 53 记录集。

    【讨论】:

    • 我如何做同样的事情而不必将其更改为 80 端口?
    • 嗯,不是。但我很好奇。如果我有 3 个运行不同端口的应用程序并且我希望它们都可以像这个一样访问呢?
    • 每个都在不同的 DNS 上?
    • 谢谢。还有一个问题。我的记录 A(名称 - example.com)指向我的弹性 IP 地址。 CNAME 必须指向什么(名称 - www.example)?
    • CNAME 不指向 IP 地址,它指向另一个域。 differencebetween.net/technology/internet/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    相关资源
    最近更新 更多