自动发现不起作用 - Exchange 2016

自动发现不起作用 - Exchange 2016

最近我设置了 Exchange Server 2016,并相应地配置了外部 DNS。服务器本身运行良好,可以发送和接收电子邮件。OWA 也运行良好(外部和内部)。

问题是自动发现无法正常工作。我可以通过以下方式从外部打开它https://example.com/autodiscover/autodiscover.xml(它会提示输入用户名和密码),但无法在 Outlook 中自动设置帐户。Outlook 会提示输入服务器地址和域凭据。我输入这些内容没有问题,但我需要为用户解决这个问题。

在 Microsoft Connectivity Analyzer 中测试自动发现时,它没有报告任何错误。

答案1

假设 SMTP 域名为“example.com”,则有两种方式可以设置 Exchange 的自动发现服务:

在这两种情况下,名称都应从您的内部网络和外部(通常通过反向代理和/或防火墙)解析为您的 Exchange 服务器;如果您有多个 Exchange 服务器,则应在它们前面放置一个负载平衡器,并相应地修改配置;此外,用于 Exchange Web 服务的证书(无论是在服务器上还是在负载平衡器/反向代理上)都应包含您用于该服务的名称作为 SAN。

看起来你对外发布的服务是没问题的,否则远程连接分析器就会失败;但是你的内部网络怎么办呢?

您的 SMTP 域和 Active Directory 域是否使用了相同的名称(“example.com”)?如果是这种情况,域的 FQDN 将自动指向内部 DNS 中的域控制器,因此它无法指向您的 Exchange 服务器。

如果“example.com”与您的 AD 域不同,您是否使用了拆分 DNS(即,您是否有一个同名的内部 DNS 区域)?在这种情况下,您是否也从网络内部将域的 FQDN 指向您的 Exchange 服务器?

总结:确保“example.com”在内部网络解析和外部解析时都指向您的 Exchange 服务器;如果这不可行,请切换到特定名称(“autodiscover.example.com”),而不是使用域的 FQDN;在这种情况下,请确保 Exchange Web 服务使用的证书包含适当的 SAN。

答案2

您是在外部还是内部设置客户端(并且两者都失败了)?您可以清理并发布以下内容的输出吗:

Get-OutlookProvider 
Get-OutlookAnywhere
Get-ClientAccessServer

很多时候我发现这些价值观存在问题。

AutodiscoverServiceInternalUri。内部主机名和外部主机名。

需要 SSL?身份验证方法?假设您已安装 CA 生成的证书,并且该证书受到客户端信任(某些 CA 也要求安装中级证书)。

答案3

输入服务器名称(通常是用户邮箱的 Exchange GUID)和邮箱凭证后 Outlook 可以正常工作吗?内部 Outlook 客户端是否可以使用自动发现功能正常工作?

我认为自动发现可以工作(浏览器自动发现 URL 时出现错误 600)并且具有有效的自动发现证书。

我们知道,Exchange 2016 中默认启用 MAPI over HTTP。因此,运行“获取 MapiVirtualDirectory“查看其 URL 和身份验证设置。另外,检查 Outlook 提供程序 Outlook Anywhere 的设置,如 Finny 上面提到的。确保这些 FQDN 通过 DNS 解析有效。

答案4

我在发帖之前已经阅读了以前的答案,所以我的答案不是他们任何答案的重新整理,所以请尝试一下。

这个答案完全基于您的陈述,“Microsoft Connectivity Analyzer 报告一切正常”是正确的。

外部自动发现能够取代内部自动发现,这很奇怪,因为你无需做任何事情来配置内部自动发现。我只能怀疑你可能以某种方式意外破坏了这一点。

实际上,自动发现可以使用两种方法来检索邮箱设置。一种是 DNS 方法(即您上面的描述),也是 RCA 工具所使用的方法。当 Outlook 客户端不是 Active Directory (AD) 的一部分时,使用此方法。由于 RCA 工具不是 AD 的一部分,因此它使用此方法。这可以验证是否正确配置了此方法。但是,如果您尝试从连接到 AD 的计算机配置 Outlook,自动发现将使用不同的过程。它使用一种称为服务连接点的东西。此 SCP 存储在 AD 中的特定位置。简而言之,连接到 AD 的内部计算机将查找此 SCP 记录并使用那里配置的任何内容反而您上面使用的 DNS 方法。

假设您的自动发现正在 autodiscover.example.com 上运行,并且您已使用 RCA 成功测试了这一点。但是假设 SCP 记录被错误地配置为 autodiscover.yourADdomain.local。这意味着 Outlook 内部会认为自动发现位于此位置。请检查您的 SCP 记录并(如果方便)告诉我们它说了什么。如果不是,请告诉我们它是否与您的预期不同。要查找 SCP 的位置,请阅读此内容https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-find-autodiscover-endpoints-by-using-scp-lookup-in-exchange#locate-autodiscover-scp-objects-in-ad-ds

再次,假设您关于外部自动发现的说法是正确的,那么我可以 100% 肯定地告诉您,问题出在该 SCP 记录上。如果您的 SCP 记录是相同的URL 作为 DNS 方法(必须是完整路径https://xxx.example.com/autodiscover/autodiscover.xml从内存中),则意味着您的内部 DNS 没有指向 Exchange 服务器的 xxx.example.com 的 DNS 记录。

相关内容