com*_*ech 28
您可以使用访问部分和locationsweb.config(或相应子目录中的web.configs)的组合来配置它.
例如,要在目录Interface中要求SSL证书,可以将以下块添加到web.config的配置部分:
<location path="Interface">
<system.webServer>
<security>
<access sslFlags="Ssl,SslRequireCert" />
</security>
</system.webServer>
</location>
Run Code Online (Sandbox Code Playgroud)
注意:正如@Jonathan DeMarks在评论中所述,我还需要包含SslNegotiateCert它才能使其运行(使用IIS 8.5和Chrome).所以我的工作配置是:
sslFlags="Ssl,SslRequireCert,SslNegotiateCert"
实际上我得到一个错误,说明我正在指定,SslRequireCert但我可以使用SslNegotiateCert.
请注意,如果您想要Ssl,则必须添加它和相应的证书标志.
technet文档中的标志值为:
没有.此默认设置禁用站点或应用程序的SSL.
SSL.该站点或应用程序需要SSL.
SslNegotiateCert.站点或应用程序接受客户端证书进行身份验证
SslRequireCert.站点或应用程序需要客户端证书进行身份验证 SSL128.站点或应用程序需要128位SSL证书加密.
然而
access默认情况下,不能覆盖该部分.
为了支持这一点,您必须在C:\ Windows\System32\inetsrv\config(或安装的相应目录)中修改applicationHost.config并更改以下行:
<section name="access" overrideModeDefault="Deny" />
Run Code Online (Sandbox Code Playgroud)
至:
<section name="access" overrideModeDefault="Allow" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17786 次 |
| 最近记录: |