我想使用C#通过SSL证书(Windows10 + IIS:10.0.17)支持SNI。绑定可以通过以下方式添加:
website.Bindings.Add(szBinding, hashBytes, sslStore);
如何在新添加的绑定上应用SNI?以下代码无效:
website.Bindings[0].SslFlags = SslFlags.Sni;
问题Programmatically add binding on IIS 8 with SNI option解决了该问题,但问题正如我之前描述的那样,使用此标志“ SslFlags.Sni”无效,即,当我在IIS中检查绑定时,仍未选中SNI Checkbox。意味着,设置此标志不会影响IIS中的绑定。我在Windows 10上使用IIS v.10.0.17。
我想念什么?任何好的文章/帮助将不胜感激。
答案 0 :(得分:0)
绑定值有问题。我使用的是ip:port:
而不是ip:port:hostname
。将绑定名称与主机名和SNI标志一起使用可解决此问题。
此代码将添加启用了SNI的绑定:
var szBinding = "IP:PORT:HOSTNAME";
website.Bindings.Add(szBinding, hashBytes, install.SslStore, SslFlags.Sni);