【发布时间】: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?