免责声明:我知道这是非常过时的技术:我的客户强迫我使用它,所以请不要告诉我升级——我别无选择。
因此:我们运行的是带有 Exchange Server 2010 的 Windows Server 2008 R2,并且有一个 C# 应用程序连接如下:
using Microsoft.Exchange.WebServices.Data;
...
Service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
Service.Url = new Uri("http://EXAMPLE/ews/exchange.asmx");
Service.Credentials = new NetworkCredential("EXAMPLENAME", "EXAMPLEPASS");
var results = Service.FindItems(WellKnownFolderName.Inbox, new ItemView(20));
这在 Exchange Server 2010 SP1 上运行良好。现在我们升级到 SP3,它突然失败,出现 403 Forbidden 错误。我知道这可能与升级后的安全性加强有关,但我如何才能以 SP3 可以接受的方式进行连接?需要进行哪些重新配置?
答案1
运行以下命令检查 EWS 访问的配置:
Get-OrganizationConfig | Format-List EwsApplicationAccessPolicy,Ews*List
它显示了允许访问 EWS 和 REST 的应用程序。
如果 EwsApplicationAccessPolicy 的值为 EnforceAllowList,则只有 EwsAllowList 中指定的应用程序才允许访问 EWS 和 REST。您可以运行以下命令来添加 C# 应用程序以访问 EWS:Set-OrganizationConfig -EwsAllowList "c# APP"
如果 EwsApplicationAccessPolicy 的值为 EnforceBlockList,则允许所有应用程序访问 EWS 和 REST,EwsBlockList 中指定的应用程序除外。
更多细节:设置组织配置
答案2
问题出在 IIS 7 中的 SSL 设置。
我必须转到 IIS > 默认网站 > SSL 设置,然后取消选中“需要 SSL”框。我想从 Exchange 2010 SP1 升级到 SP3 一定出于某种原因选中了此框。