您好 XieJie,
在将 /certsrv 目录配置为强制使用 HTTPS 后出现 302 重定向循环,这是由 IIS 的“HTTP 重定向”功能与 SSL 设置之间的冲突引起的。 首先,请在 IIS 管理器中找到“默认网站”(Default Web Site)下的 CertSrv 虚拟目录; 如果启用了“HTTP 重定向”,请取消勾选“将请求重定向到此目标”。 正确的做法是利用 IIS 的“要求 SSL”(Require SSL)设置来强制使用 HTTPS,并通过 URL 重写(URL Rewrite)规则集中管理 HTTP 到 HTTPS 的重定向,而不是使用“HTTP 重定向”功能。
具体而言,您需要在 <system.webServer><rewrite><rules> 中定义一条 HTTP 到 HTTPS 的重定向规则,仅当 {HTTPS} 为 OFF(关闭)状态时才执行 301 重定向。 这样可以确保 /certsrv 注册页面在 HTTPS 模式下正常运行,从而解决 302 重定向循环问题。 现有的注册脚本直接访问 /certsrv,因此除非您不小心重复配置了重定向设置,否则它们不会受到影响。 微软推荐的最佳实践是结合使用“要求 SSL”和“URL 重写”功能,而不使用“HTTP 重定向”功能。
如果我的回答对您有帮助,请点击**“接受回答”**以示支持。
谢谢,
HL。