免责声明:我知道这是非常过时的技术:我的客户强迫我使用它,所以请不要告诉我升级——我别无选择。
所以:我们在 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 接受的方式连接?需要什么重新配置?
运行以下命令以检查 EWS 访问配置:
它显示了允许访问 EWS 和 REST 的应用程序。
如果 EwsApplicationAccessPolicy 的值为 EnforceAllowList,则仅允许 EwsAllowList 中指定的应用程序访问 EWS 和 REST。您可以运行以下命令来添加 C# 应用程序以访问 EWS:
Set-OrganizationConfig -EwsAllowList "c# APP"
如果 EwsApplicationAccessPolicy 的值为 EnforceBlockList,则允许所有应用程序访问 EWS 和 REST,但 EwsBlockList 中指定的应用程序除外。
更多细节:Set-OrganizationConfig
问题是 IIS 7 中的 SSL 设置。
我必须转到 IIS > 默认网站 > SSL 设置,然后取消选中“需要 SSL”框。我想从 Exchange 2010 SP1 升级到 SP3 一定是出于某种原因勾选了此框。