在一个加入域的客户端上,启动Outlook,通过自动发现功能进行配置的情况,用户无需输入任何信息就能直接创建到Exchange的连接。而对于一个没有加入域的客户端上,通过自动发现进行配置时,就需要输入身份验证信息才能够连接了。那么,这个功能是如何实现的呢? 自动发现的原理 自动发现功能需要Exchange服务器和Outlook客户端配合,服务器和客户端之间可以通过Web Service进行联系,获取相关的配置信息。自动发现服务的实质是,Outlook客户端通过DNS查询,连接到指定域的Exchange客户端访问服务器上,提交身份验证信息后,从服务器下载一个XML文件。Outlook通过这个XML文件所包含的信息,配置到Exchange服务器的连接方式。 自动发现服务需要一个访问连接点(Service Connection Point,SCP),Outlook客户端必须能够按照内置的规则,查询并连接到该SCP才能实现自动发现。 自动发现的查询步骤 假设客户的邮件域名为,在没有加入域的客户端上,Outlook会进行3次尝试,只要其中任意一步成功连接,后续步骤就不再进行。如果3次都没有成功获取XML文件,Outlook将放弃尝试,并告知用户需要进行手动配置。 1、https:///Autodiscover/Autodiscover.xml 2、https://autodiscover./Autodiscover/Autodiscover.xml 3、查询DNS是否注册有名称为_autodiscover的SRV服务记录,如果有,获取该服务记录所指定的主机名称(A记录)。假设找到SRV记录,指向主机mail.。那么Outlook会尝试连接:https://mail./autodiscover/autodiscover.xml 对于加入域的客户端,会优先使用本站点Exchange客户端访问服务器上指定的AutoDiscoverServiceInternalUri值。这个值可以通过以下命令进行查询: Get-ClientAccessServer TechMail01 | select AutoDiscoverServiceInternalUri 自动发现的条件 需要注意的是,所有的连接尝试都是通过HTTPS加密方式进行的,因此要求: 1、Exchange服务器上配置有名称与该SCP主机名相同的证书; 2、Outlook客户端必须信任该证书(有与Exchange服务器相同的证书链)。 关于证书的配置方式,可以查看相关的文章:《Exchange Server 2019的证书配置》。 配置Internet上的DNS服务器记录 根据前面的步骤,可以看到,对于企业内网,并且已经登录到活动目录的客户端,只需要保证能够正常连接到AutoDiscoverServiceInternalUri中指定的Uri就可以实现客户端的自动配置了。而要在Internet上实现Outlook自动发现,需要对进行DNS配置和虚拟目录的InternalUrl的配置。 DNS配置 1、将的Internet域名解析指向Exchange客户端访问服务器 这里提到的“将解析指向”,简单来说,就是在客户端PING这个域名或主机名,能够获取到Exchange客户端访问服务器在Internet上的IP地址; 2、将主机记录(A记录)autodiscover.的解析指向Exchange客户端访问服务器 3、注册Exchange客户端访问服务器的主机记录,并创建一个名称为_autodiscover的SRV服务记录,指向该A记录 AutoDiscover主机记录也可以利用别名(CNAME)来代替,例如在Windows的DNS中,可以注册一个CNAME记录,指向实际的Exchange主机。 虚拟目录InternalURL配置 可以通过Get-SERVICEVirtualDirectoy和Set-SERVICEVirtualDirectoy来实现的各虚拟目录的InternalUrl的配置 $HTTPS_FQDN ="mail." $Server = "TechMail02" Get-WebServicesVirtualDirectory -Server $Server | Set-WebServicesVirtualDirectory -InternalURL "https://$($HTTPS_FQDN)/EWS/Exchange.asmx" -ExternalURL "https://$($HTTPS_FQDN)/EWS/Exchange.asmx"
配置完成后,可以通过下列命令,查看配置的结果: Get-WebServicesVirtualDirectory |ft name,externalurl,internalurl
|