我有一个内部托管的 Exchange 2010 服务器,带有一个内部域EXCHANGE0.COMPANY.COM
。
我已将所有用户配置为使用 Outlook-over-HTTP 访问 Outlook(甚至内部访问)。为此,我为面向外部的域设置了客户端访问证书mail.company.com
。
问题是,每当用户打开 Outlook 时,他们都会立即收到证书警告,提示mail.company.com
和不匹配EXCHANGE0.COMPANY.COM
。我想消除这些警告,我觉得可以通过 DNS 或 Exchange 来实现。我只是不知道该怎么做。
如果有必要的话,可以使用 SRV 方法配置 AutoDiscover。
编辑:客户端上的配置如下
Exchange 服务器:EXCHANGE0.COMPANY.COM 使用 Outlook Anywhere (HTTP) 连接:在快速和慢速连接上,连接到 mail.company.com 并且仅信任 msstd:mail.company.com
证书上的名称是 mail.company.com,但 Outlook 预期是 EXCHANGE0.COMPANY.COM
答案1
您可以通过将各种 Exchange 组件的 InternalURL 属性设置为与您的外部名称 (mail.company.com) 相匹配来解决此问题。完成此操作后,您可以创建 DNS 记录(可能是“mail.company.com”到“exchange0.company.com”的 CNAME——听起来您将 AD 域命名为与您的真实 Internet 域名相同),以便客户端可以连接到“mail.company.com”并定向到 Exchange Server 计算机。
您需要运行的每个组件的“设置”命令如下。您可以使用这些命令的“Get-”版本来查看它们现在的设置方式。
Set-ActiveSyncVirtualDirectory -InternalURL
Set-AutodiscoverVirtualDirectory -InternalURL
Set-ClientAccessServer -AutodiscoverServiceInternalUri
Set-ECPVirtualDirectory -InternalURL
Set-OABVirtualDirectory -InternalURL
Set-OWAVirtualDirectory -InternalURL
Set-WebservicesVirtualDirectory -InternalURL
答案2
要解决此问题,您将要需要新证书!为什么?因为您需要证书主题与 mail.company.com、exchange0.company.com 以及最好与 autodiscover.company.com 匹配。
一种解决方法是对所有服务使用通配符证书 (*.company.com)
答案3
如果我理解正确的话,你想重新配置你的交换服务,使其在一个域下工作(甚至在内部),使用这个KB940726 或这个关联(两者都涵盖相同的内容)。Exchange 2007/2010 服务器始终存在此错误。否则,您将需要 SAN 证书(或通配符证书)来在同一证书下覆盖多个域(这很昂贵)。
此外,如果您资金不足或支持小公司,我建议您将其用作autodiscover.domain.com
所有事物的主域(甚至用于 Outlook 客户端连接、owa 等)。这似乎不方便,但这将为您节省需要覆盖多个域(SAN 证书)的证书成本。我发现对于我的小客户来说,这是最具成本效益的解决方案,他们不必每年支付 100-1000 美元来获得可以在一个 IP/端口下处理多个域的证书。
为了完成这个,你可以得到自由的(真正免费!)SSL 证书来自启动SSL每年免费更新。只有撤销不是免费的,但只要您正确生成证书并且没有丢失密钥,您就应该是安全的。
答案4
我使用这 4 个命令修复了我的问题(根据需要更改服务器名称/网址)
Set-ClientAccessServer -Identity EXCHANGE-SERVER -AutoDiscoverServiceInternalUri https://exchange-server.example.com/Autodiscover/Autodiscover.xml
Enable-OutlookAnywhere -Server EXCHANGE-SERVER -ExternalHostname "exchange-server.example.com" -DefaultAuthenticationMethod "Basic" -SSLOffloading:$False
Set-OABVirtualDirectory -identity "EXCHANGE-SERVER\OAB (Default Web Site)" -externalurl https://exchange-server.example.com/OAB -RequireSSL:$true -InternalUrl https://exchange-server.example.com/OAB
Set-WebServicesVirtualDirectory -identity "EXCHANGE-SERVER\EWS (Default Web Site)" -externalurl https://exchange-server.example.com/EWS/Exchange.asmx -BasicAuthentication:$True -InternalUrl https://exchange-server.example.com/EWS/Exchange.asmx
之后我重新启动了 IIS,以确保万无一失。