对于双向 TLS (MTLS(,身份服务器 4 文档指出,身份服务器在某些端点上针对 MTLS 进行了配置。
在 IdentityServer 中,双向 TLS 端点应位于路径 ~/connect/mtls 下方。这意味着可以将您的 Web 服务器配置为要求对该路径及其以下的所有请求进行双向 TLS。
有没有办法在 IIS 中执行此操作?我一直在进行广泛的研究,但找不到为特定端点启用 MTLS 的方法。
如果在 ApplicationHost.config 中对所涉及的节点设置读/写权限,则可以在 web.config 中进行设置:
<configuration>
...
<location path="connect/mtls">
<system.webServer>
<security>
<access sslFlags="Ssl, SslNegotiateCert, SslRequireCert" />
</security>
</system.webServer>
</location>
...
</configuration>
/汉斯
在身份服务器文档中引用的证书身份验证包的自述文件中,它说:
是否可以将应用程序配置为仅在某些路径上需要证书?
不可能,请记住,证书交换是在HTTPS对话开始时完成的,它是由主机而不是应用程序完成的。Kestrel,IIS,Azure Web Apps对此类事情没有任何配置。
所以我认为这是不可能的。但是,对于如何解决身份服务器的MTLS问题,我当然不胜感激,因为在特定路径上无法进行证书身份验证。