【问题标题】:run 3 web servers on the same port在同一个端口上运行 3 个 Web 服务器
【发布时间】:2019-02-01 19:56:30
【问题描述】:

我有一台机器,我想做一件非常简单的事情,在这台机器上我有 3 个 DNS 记录, 例如 111.111.111.111 是机器本身的 ip

test1.whatever.net - 111.111.111.111
test2.whatever.net - 111.111.111.111
test3.whatever.net - 111.111.111.111
  • 我们希望通过每条 DNS 记录的流量是 由每个相应的服务处理。
  • 创建 3 个非常简单的脚本,用作使用任何语言的网站 或平台(建议使用 NodeJ),呼应服务的名称 调用 DNS 记录时(例如“service1”、“service2”和 “服务 3”)。

我该怎么做?

  • 所有服务都必须在端口 80 上运行
  • 机器是 AWS Linux 2

【问题讨论】:

  • 是否可以将您的“所有服务必须在端口 80 上运行”要求更改为“所有服务必须可通过端口 80 访问”?

标签: node.js linux amazon-ec2 service dns


【解决方案1】:

您使用的是什么 http 服务器? 通常你可以通过创建虚拟主机来解决这个问题。在 Apache 中它看起来像这样:https://httpd.apache.org/docs/2.4/vhosts/examples.html 在那里,您可以根据 DNS 请求定义网络服务器应该使用哪个文件夹来呈现客户端。

另一种选择,但是当您设置 nginx 代理时,这可能会更复杂。 https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

【讨论】:

  • 我目前正在使用nodejs http模块,这是一个朋友给我挑战我的测试,我想弄清楚。
  • 你看这篇文章了吗? stackoverflow.com/questions/8503841/…
  • 嗯,你是对的,经过一番研究,nginx rev-proxy 是答案,我必须做的是使用 dokcer,在我在 docker 上运行 nginx rev 代​​理之后(使用熟悉的 nginx 代理形式 docker hub ),我设法用虚拟主机作为与代理容器相关的环境运行更多容器,每个容器都是 nginx,我只是将 html 文件复制到 3 个容器中,仅此而已:) 当然你需要将 dns 添加到主机文件。非常感谢!你是我解决问题的关键!
猜你喜欢
  • 2017-01-07
  • 1970-01-01
  • 2019-01-21
  • 2016-06-07
  • 2020-10-25
  • 2020-11-25
  • 2018-01-30
  • 2020-08-23
  • 1970-01-01
相关资源
最近更新 更多