何立
【摘要】
很多企业有这样一种情况,就是内网AD域与外网邮件域是不一致的,如内网AD域是Contoso.net,外网邮件域名是Contoso.com;又或者是另一种情况,一个企业内包含了多个公司,那么就包含了多个对外的邮件域名,如163.com,同时263.com也是它的。那么当出现这种多域名的情况下,我们的Exchange邮件系统上使用的证书通常只包含一个域名的FQDN名称,例如是Contoso.net,那么使用Contoso.com的域名的邮件用户在配置和使用Outlook的时候很可能就会出现证书信任的弹框问题。那么我们今天就来谈一下这个问题的处理。
【正文】
现假设我们的环境如下:Exchange 2013,有两个SMTP域,一个是Contoso.net,一个是Contoso.com,Exchange环境内的AutoDiscoverServiceInternalUri中的URL的后缀是Contoso.com,而Exchange使用的公网证书所包含的域名却只有Contoso.com。
此时使用Contoso.net的SMTP域名的邮箱用户,在配置和使用Outlook的时候必然会被证书弹框提示你该证书可能不被受信任。
对于此类问题,我们通常有3中方法来去处理:
1、 在公网证书上添加证书的SAN,使其包含Contoso.net域名;
2、 配置Autodiscover Redirection;
3、 为Contoso.net的Autodiscover添加一个SRV记录;
如果采用第一种方法,那么我们需要重新花钱去对证书进行变更,需要一定的成本,这个方法很简单,花钱就行了。
如果采用第二种方法,那么我们需要Exchange CAS Server上额外配置一个Website来实现,这种方法稍显复杂,并且为以后的维护带来了额外的成本。
我们今天讨论的是第三种方法,在DNS上添加Autodiscover的SRV记录。
方法也很简单,就是在DNS服务器上(内网、外网)上新建一条合适的SRV记录即可,过程和相关记录如下:
1、 在内外网的Contoso.net的DNS上,删除Contoso.net的任何Autodiscover服务的相关A记录或者是CNAME记录,例如Autodiscover.contoso.net;
2、 在内外网的Contoso.net的DNS上,添加如下SRV记录:
Service: _autodiscover
Protocol: _tcp
Port Number: 443
Host: mail.contoso.com
Priority: 0
Weight: 0
注意:这里的Host需要指向已经正确包含在公网证书中的SAN记录;
在这个例子中,我们来了解一下Autodiscover服务是如何寻找并联系Autodiscover服务的过程:
1、 Autodiscover服务查找https://contoso.net/Autodiscover/Autodiscover.xml,失败了;
2、 Autodiscover服务查找https://autodiscover.contoso.net/Autodiscover/Autodiscover.xml,失败了;
3、 Autodiscover执行如下重定向检查:GET http://autodiscover.contoso.net/Autodiscover/Autodiscover.xml,还是失败了;
4、 Autodiscover通过DNS的SRV查询找到了_autodiscover._tcp.contoso.net,并返回了mail.contoso.com记录;
5、 那么接着Outlook就会通过返回的mail.contoso.com来查找并访问https://mail.contoso.com/autodiscover/autodiscover.xml;
6、 最后Autodiscover的POST请求就被成功发送到了https://mail.contoso.com/autodiscover/autodiscover.xml.
7、 Outlook成功登陆,并不再由证书信任的弹框警告了;
此法不失为一个简单而有效地解决多域名下邮件系统证书弹框问题的方法,如果你正面临此类问题,希望这篇文章能给你一个参考。
联系客服