我们的 Exchange 服务器已经使用内部签名的证书运行了一段时间。今天我购买了受信任的 SSL 证书 (wilcard) 并安装在服务器上。
该证书颁发给 *.example.no,当我https://mail.example.no/owa
从 Web 浏览器访问 Web 界面时,没有任何安全异常。
现在,当我打开 Outlook 时,会出现此证书验证错误。我尝试了提供的所有标准解决方案,其中大部分涉及将外部 URL 设置为内部 URL。
- 内部 FQDN:
mx.example.local
- 外部 FQDN:
mail.example.no
- 错误信息:代理服务器的安全证书存在问题。安全证书上的名称无效或与目标站点名称 mx.example.local 不匹配。Outlook 无法连接到代理服务器。(错误代码 10)
我做了什么:
Set-WebServicesVirtualDirectory –Identity ‘mx\EWS (Default Web Site)’ –ExternalUrl https://mail.example.no/ews/exchange.asmx
Set-WebServicesVirtualDirectory -Identity "mx\EWS (Default Web Site)" –InternalUrl https://mail.example.no/EWS/Exchange.asmx
Set-OABVirtualDirectory -Identity “mx\OAB (Default Web Site)” -InternalURL https://mail.example.no/OAB
Set-ActiveSyncVirtualDirectory -Identity “mx\Microsoft-Server-ActiveSync (Default Web Site)” -InternalURL https://mail.example.no/Microsoft-Server-Activesync
Set-ClientAccessServer -Identity mx -AutodiscoverServiceInternalUri https://mail.example.no/autodiscover/autodiscover.xml
结果:
[PS] C:\>Get-WebServicesVirtualDirectory | Select InternalUrl, BasicAuthentication, ExternalUrl, Identity | Format-List
InternalUrl : https://mail.example.no/ews/exchange.asmx
BasicAuthentication : True
ExternalUrl : https://mail.example.no/ews/exchange.asmx
Identity : mx\EWS (Default Web Site)
[PS] C:\>Get-OabVirtualDirectory | Select InternalUrl, ExternalUrl, Identity | Format-List
InternalUrl : https://mail.example.no/oab
ExternalUrl : https://mail.example.no/OAB
Identity : mx\OAB (Default Web Site)
[PS] C:\>Get-ActiveSyncVirtualDirectory | Select InternalUrl, ExternalUrl, Identity | Format-List
InternalUrl : https://mail.example.no/Microsoft-Server-ActiveSync
ExternalUrl : https://mail.example.no/Microsoft-Server-ActiveSync
Identity : mx\Microsoft-Server-ActiveSync (Default Web Site)
[PS] C:\>Get-ClientAccessServer | Select Fqdn, AutoDiscoverServiceInternalUri, Identity | Format-List
Fqdn : mx.example.local
AutoDiscoverServiceInternalUri : https://mail.example.no/autodiscover/autodiscover.xml
Identity : mx
之后我
- 回收了 IIS 应用程序池 MSExchangeAutoDiscoverAppPool(这并没有使消息消失,所以我......)
- 重新启动了整个邮件服务器(但这并没有使消息消失,所以我......)
- 进入控制面板 -> 邮件 -> 电子邮件帐户并选择修复我的帐户(因为我正在发布这篇文章,你可能已经猜到这也没有效果)
- 刷新客户端计算机的 DNS(以防自动发现 URL 被忽略)
- 再次修复电子邮件帐户
- 尝试编辑帐户并将公共 FQDN mail.example.no 作为服务器地址
- 编辑:尝试删除并重新创建帐户。删除了整个邮件配置文件、%AppData%\Local\Outlook 和 %AppData%\Local\Outlook 文件夹。仍然没有成功。
我现在没什么主意了...我在网上访问过的每个网站都建议我做我刚才做的事情,并且预计结果会和我的结果一样......
更新:我的一个用户甚至无法从他们的工作站使用 Outloook 登录。帐户正常(手机和 Web 客户端上的邮件可用),但 Outlook 不断重复输入密码提示,并且不会退出脱机模式。
更新:在 Digicert 网站上进行了 SSL 检查,以查看证书是否安装成功。服务器通过了所有检查,唯一警告的是使用 SSL 3.0 协议:协议支持 TLS 1.1、TLS 1.0、SSL 3.0。SSL 3.0 是一个过时的协议版本,具有已知漏洞。
更新 150709:
免责声明:本次更新并未损害任何真实的内部 IP 地址
- 我在 DNS 中设置了一个新的正向查找区域,
mail.example.no
其中一条空白 (A) 记录指向 192.168.1.1(邮件服务器的假设 IP 地址) - 在 192.168.1.in-adds.arpa 的反向查找区域中,我有一条名为 192.168.1.1 的 (PTR) 记录,指向 mail.example.no
- 已下载适用于 Microsoft Exchange 的 DigiCert® 内部名称工具
- 运行该工具,地址大部分都是正确的,但 OWAVirtualDirectory ECPVirtualDirectory 仍然引用 mx.example.local,所以我将它们更改为 mail.example.no
nslookup输出看起来很有希望:
D:\>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
D:\>nslookup mail.example.no
Server: dc1.example.local
Address: 192.168.1.2
Name: mail.example.no
Address: 192.168.1.1
D:\>nslookup 192.168.1.1
Server: dc.example.local
Address: 192.168.1.2
Name: mail.example.no
Address: 192.168.1.1
Outlook 没有.....
小测试:
- 转到帐户设置->更多设置->连接->Exchange 代理设置。
- 将连接 URL 更改为
https://mail.example.no
- 将允许的主体名称更改为
msstd:*.example.no
- 重新启动 Outlook。证书错误现在没有弹出,但我注意到我没有连接...
- 再次设置帐户,这次我选择了自动修复
- 重新启动 Outlook
- 现在,如果我返回 Exchange 代理设置,内部 URL 已返回...
答案1
第三方颁发机构的证书需要将您的内部 FQDN 作为主题备用名称,以便能够与您的本地自动发现配合使用,因为证书位于您的 IIS 或 Exchange 上,所以使用 Outlook 的 LAN 用户正在尝试访问该自动发现。
否则,系统将提示用户“SSL 证书名称不匹配”,并且在某些情况下,系统会提示用户一遍又一遍地输入密码。
答案2
我正在努力解决这个确切的问题。我没有足够的积分来发表评论。
但我很好奇,您是否设置了 EXCH Outlook 提供程序 CertPrincipalName?
Get-OutlookProvider
对于通配符证书,通常需要设置 EXPR 提供程序。但我发现我可能还需要为 RPC 客户端设置 EXCH 提供程序。
Set-OutlookProvider EXCH -CertPrincipalName msstd:*.domain.com