在创建网站后Internet 信息服务 (IIS) 管理器,在下面路径中的配置文件中,
C:\Windows\System32\inetsrv\config\applicationHost.config
您可以在特定网站部分中像这样修改以下值,
<binding protocol="https" bindingInformation="*:443:" sslFlags = "32" />
Disable TLS 1.3 over TCP
这样做的目的是检查中调用的复选框Bindings
。虽然配置文件中的这一更改检查了复选框,但由于网站未加载,因此它不会应用设置。但是,如果您手动选中复选框Disable TLS 1.3 over TCP
,则它会起作用。这里的问题是什么?
我将使用安装程序创建一个网站来自动化该过程。但是在 Windows Server 2022 中,除非Disable TLS 1.3 over TCP
选中复选框,否则不会加载网站。
因此,我正在寻找使用代码检查复选框的方法Disable TLS 1.3 over TCP
。但是,我需要知道为什么仅在配置文件中更改不起作用。我甚至重新启动了网站。
答案1
除了您注意到的 sslFlags 属性之外,IIS 似乎还在选中该框时设置了一个注册表项:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslBindingInfo\0.0.0.0:443]
"DefaultFlags"=dword:00000040
如果您的 SSL 绑定使用不同的端口号,则需要调整注册表项以匹配。我还需要重新启动 Windows,然后 IIS 才能注意到注册表项的更改。
关于 LPChip 的评论,我需要禁用 TLS 1.3,因为我的应用程序使用客户端证书身份验证,而基于 Chrome 的浏览器不支持握手后身份验证。