使用ec2上的应用程序可以从Internet访问

时间:2014-03-15 15:45:33

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

我有一个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(我有)访问,而无需指定端口(my_custom_domain.com:9000)。

1 个答案:

答案 0 :(得分:1)

  1. 将您的端口从9000更改为 - 如果您使用的是ubuntu,则可以使用iptables

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

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

  2. documentation

  3. 将弹性IP映射到my_custom_domain.com
      

    在托管区域中创建资源记录集。对于Type,选择A -   Ipv4地址。对于Value,请指定您的弹性IP地址   Amazon EC2实例。有关创建资源的更多信息   记录集,请参阅使用资源记录集。


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

    使用此配置,您可以在Route 53记录集上将每个ELB映射为Alias