Windows-Server-2012-R2

使用 CloudFlare 和 IIS 進行身份驗證的來源拉取

  • March 20, 2016

我在前面執行帶有 CloudFlare 的 Windows Server 2012 R2,並嘗試按照此處指定的方式設置經過身份驗證的源拉取 -

https://support.cloudflare.com/hc/en-us/articles/204899617

我遇到的問題是,即使在完成啟用客戶端證書身份驗證的步驟之後,嘗試通過 CloudFlare 訪問該站點時仍然會收到 403 Forbidden Access。我在這裡使用了部分指南在 IIS 上進行設置 -

https://support.microsoft.com/en-us/kb/315588

我已經完成的步驟是:

  1. 在 CloudFlare 帳戶上啟用 Authenticated Origin Pulls

  2. IIS SSL 設置 -> 需要 SSL + 客戶端證書:需要

  3. 配置編輯器 -> iisClientCertificateMappingAuthentication

  4. 啟用 -> 真

  5. oneToOneMappings -> 添加 -> 有效的 Windows 使用者名/密碼 + 附在上面 CloudFlare 支持文章底部的證書

好像我一定在某個地方錯過了一步?

對於偶然發現此問題的任何人,在跟踪錯誤後,我發現我錯過的步驟是將 CloudFlare 客戶端證書導入本地機器 -> 受信任的根證書頒發機構。

編輯:這實際上只是解決了問題的一半。問題是,這會將 CloudFlare 證書添加為受信任的,並讓它們進行身份驗證。但是,任何其他受信任的證書/客戶端也可以這樣做。

要實際授權特定證書(由 CloudFlare 證書籤名),必須有其他方法,我猜測 IIS 中的“多對一”證書映射。

編輯 2:這工作得很好,添加了一個新的多對一映射規則,並將受信任的根 CloudFlare Cert 頒發的任何客戶端證書映射到我的 web/Windows 使用者。

引用自:https://serverfault.com/questions/764804