24

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

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

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

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

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

知道我做错了什么吗?

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

4

3 回答 3

41

这可以通过S3 重定向实现。使用名称创建一个 S3 存储桶

subdomain.domain.com

此存储桶不需要公开。然后,在属性中打开静态网站托管并选择重定向响应选项并使用以下选项进行配置

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

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

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

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

于 2018-02-22T18:08:29.433 回答
17

通常,DNS 不关心端口。

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

于 2013-10-13T22:11:34.623 回答
1

我从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;
  }
}

就是这样!

于 2021-06-03T08:14:59.960 回答