【问题标题】:Nginx reverse proxy DNS configurationNginx反向代理DNS配置
【发布时间】:2014-04-08 06:40:35
【问题描述】:

我希望在映射到不同地理位置的真实后端的 vps 代理上部署 nginx/dns 服务器。后端运行 apache、mysql、dovecot、postfix。它是一个付费邮件服务器。用户通过 apache 通过 php 进入 mysql,当用户设置 IMAP 时,dovecot/postfix 将它们从 mysql 池化并交付或使用 smtp 出站。

我在 nginx.conf 文件中读到了一些内容,我可以在代理上声明邮件主机名:

mail {
server_name mail.example.com;
...
}

这个 mail.example.com 是 DNS 中列出的 example.com 邮件交换器的实际 mx?这是从哪里来的:

“如您所见,我们在邮件上下文的顶部声明了此服务器的名称。 这是因为我们希望我们的每个邮件服务都以 mail.example 进行寻址。 com。即使运行 NGINX 的机器的实际主机名不同, 并且每个邮件服务器都有自己的主机名,我们希望这个代理是一个单点 供我们的用户参考。这个主机名将反过来在 NGINX 的任何地方使用 需要提供自己的名称,例如,在初始 SMTP 服务器问候语中。”

因此,据我了解,代理的物理主机名应该是 mail.example.com 之外的其他名称。所以在代理上的 DNS 中,我可以将其定义为 anyhost.example.com?代理还代理回我在后端的 apache。

最后,在后端,我该如何设置我的 DNS?我为运行 apache、mysql、dovecot、postfix 的实际机器选择什么主机名?这一切都在一个盒子里。我知道在注册商上,我指向 2 个名称服务器,它们应该是两个代理,这样运行挖掘只会拉起代理和应该“已知”在代理上的 MX。

【问题讨论】:

  • 我认为这不应该在 nginx 级别处理,这可能涉及 DNS 配置和类似的东西,这应该移动到 serverfault.com 以获得更好的服务器相关问题/配置。
  • 我认为任何代理都没有涉及 DNS?

标签: mysql nginx proxy dns


【解决方案1】:

在您的情况下,包括代理在内的所有服务都在一个框中,您可以设置只能从 localhost / 127.0.0.1 访问的 apache、mysql 和其他服务。然后从你放的nginx 上游:127.0.0.1:80 上游:127.0.0.1:3306

因此 nginx 正在服务前端请求并将它们转发给指定的服务

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2014-05-01
    • 2017-12-01
    • 2023-04-03
    • 2015-02-12
    相关资源
    最近更新 更多