【问题标题】:Route 53 Record Set on Different Port不同端口上的 Route 53 记录集
【发布时间】:2013-10-21 08:56:12
【问题描述】:

我是一名 ruby​​ 开发人员,刚开始学习一些 Node.js。

我正在 AWS 上运行一个实例来托管我的 rails 应用程序,其中乘客 + nginx 在 端口 80 上侦听。

现在我想在同一个实例 (t1-micro) 上托管一个 node.js 应用程序并让它在 port 8000 上监听。

如何使用 Route 53 创建记录集以将 subdomain.domain.com 指向 my.ip:8000

我已经尝试设置指向 my.ip:8000 的 IPV4 记录,但没有成功。

知道我做错了什么吗?

我可以使用 nginx 来为我的 nodejs 应用程序提供服务吗?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 dns amazon-route53


    【解决方案1】:

    一般来说,DNS 不关心端口。

    但是,您应该能够将 nginx 配置为使用 node.js 应用程序的反向代理来处理两个虚拟主机。所有请求都会到达端口 80,但如何处理它们取决于域。

    【讨论】:

    • 我觉得这是真正的答案。我会将您的子域设置为指向具有 nginx 的主机,并允许 nginx 基于子域路由请求。
    【解决方案2】:

    这可以通过 S3 重定向实现。创建一个名为

    的 S3 存储桶
    subdomain.domain.com
    

    此存储桶不需要公开。然后,在 Properties 中打开 Static Website Hosting 并选择 Redirect response 选项并使用以下选项进行配置

    Target bucket or domain: my.ip:8000
    Protocol: Leave this blank
    

    然后去Route53,创建一个Record Set,配置如下

    • 名称: subdomain.domain.com
    • 类型: A-IPv4 地址
    • 别名:
    • 别名目标:选择您刚刚在 S3 中创建的存储桶。如果它没有出现,请等待它出现。
    • 路由策略:简单
    • 评估目标健康状况:

    就是这样,您应该可以转到subdomain.domain.com 并看到更改在大约 30 秒后生效。祝你好运!

    【讨论】:

    • 这很好,是一个被低估的答案。谢谢!
    • 所以,只是为了理解,S3 只是一种允许我们设置端口的变通方法,它与用于存储的常规“s3 存储桶”无关,对吧?
    • 太棒了 - 虽然一旦连接就可以在 URL 中隐藏 IP 地址吗?
    • 在我的情况下,ip 地址映射错误,ip 类似于“http//myip:80//”,因为您可以看到 url 缺少“:”并且有一个额外的“/”在最后我不知道为什么?任何帮助将不胜感激。
    • 对不起,这是否意味着我必须创建一个存储桶并仅为路由支付另一项服务?如果我在 ec2 实例上有超过 1 个 tomcat(或另一台服务器),我必须为每个实例创建一个 s3?
    【解决方案3】:

    我从datasage的回答中得到了这个想法,这就是我的做法!

    在 53 号公路上:

    1. 转到您域的托管区域,点击“创建记录”
    2. 在记录名称下输入您的子域。例如,如果您要创建“sub.mywebsite.com”,请输入“sub”
    3. 选择 CNAME 作为记录类型。
    4. 在“值”下输入您的域。例如“mywebsite.com”
    5. 选择适合您用例的 TTL 值。
    6. 选择“简单路由”
    7. 点击“创建记录”

    然后,在你的 Nginx 服务器上创建虚拟主机:

    server {
      server_name sub.mywebsite.com;
      location / {
        proxy_pass http://localhost:xxxx;
      }
    }
    

    事实上,您可以创建任意多个!

    server {
      server_name sub1.mywebsite.com;
      location / {
        proxy_pass http://localhost:xxxx;
      }
    }
    server {
      server_name sub2.mywebsite.com;
      location / {
        proxy_pass http://localhost:xxxx;
      }
    }
    

    就是这样!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 2020-05-12
      • 1970-01-01
      • 2020-11-28
      • 1970-01-01
      • 2014-11-11
      • 1970-01-01
      相关资源
      最近更新 更多