我在 DMZ Windows Server 2019 上创建了一个带有 ARR 的 IIS 10,未加入域,使用客户端证书身份验证反向代理到 OWA(Exchange 2016)。
我收到错误 402.1。以下是一些详细信息。在 ISS ARR 端,在 GENERAL_SET_REQUEST_HEADER 中,我可以看到客户端证书。对比指纹,它是好的证书。在 ISS OWA 端,我可以在 GENERAL_REQUEST_HEADER 中看到我的 X-ARR-ClientCert 具有相同的好证书。
但是,OWA 似乎没有看到它,因为我被重定向到 NTLM 身份验证(我的日志上出现 402.1 错误)。
我已经看到在后端应该禁用 SSL 设置和与 https 的绑定。但是当我仅在 http 上绑定时,OWA 不起作用。我似乎只在 https 上工作。
从 LAN 地址,当 SSL 设置要求证书时,它就起作用了。
我应该怎么做才能使客户端证书身份验证从 ARR 运行?如果需要,我可以放日志来帮助我。谢谢。
[编辑] 关注此页面:https://blogs.msdn.microsoft.com/asiatech/2014/01/27/configuring-arr-with-client-certificate/
我的问题是:
4. 可以通过以下方式从后端服务器检索证书: System.Text.ASCIIEncoding 编码 = 新的 System.Text.ASCIIEncoding(); 字符串 cert = Request.Headers["X-ARR-ClientCert"]; X509Certificate2 x509Cert2 = 新的 X509Certificate2(encoding.GetBytes(cert));
我不知道该把这些代码行放在哪里。
答案1
事实上它确实有效。客户端被要求提供来自 ARR 的证书,然后 ARR 让我加入后端服务器。与 OWA 和 Activesync 配合使用。谢谢。