Php Programmaticaly使用APPCMD添加集中式SSL证书存储

Php Programmaticaly使用APPCMD添加集中式SSL证书存储,php,iis,ssl-certificate,appcmd,Php,Iis,Ssl Certificate,Appcmd,我正在PHP中创建一个Web界面,用于对IIS中的网站进行基本更新。一部分是添加一个新网站并添加正确的绑定。我使用以下命令添加绑定: appcmd add site /name:"sitename" /bindings:"http://example.com:80" /physicalPath:"d:\websites" appcmd set site /site.name:"sitename" /+bindings

我正在
PHP
中创建一个Web界面,用于对IIS中的网站进行基本更新。一部分是添加一个新网站并添加正确的绑定。我使用以下命令添加绑定:

appcmd add site /name:"sitename" /bindings:"http://example.com:80" /physicalPath:"d:\websites"
appcmd set site /site.name:"sitename" /+bindings.[protocol='https',sslflags='3',bindingInformation='*:443:example.com']
我使用SSL标志3来使用中指定的集中式SSL证书存储

当站点添加了绑定和HTTP时,一切似乎都正常工作。然而,当我使用HTTPS时,它会不断给出一个连接重置错误

解决此问题的唯一方法是在IIS管理器中打开绑定,在任何SSL绑定中更改某些内容而不保存并将其更改回,只需使“确定”按钮可用并按下即可。(例如:端口到442,返回到443)实际设置中没有任何更改,
applicationHost.config

这样做之后,一切都正常了

我的尝试没有成功:

  • iisreset命令,无更改
  • 启动/停止/重新启动网站
  • 启动/停止/重新启动服务器
  • 重新启动服务器
  • 尝试了几个不同的服务器

  • 绑定对话框
    可以做些什么来解决这个奇怪的问题?

    这里有一个参考可能会有帮助:谢谢。答案就埋在那里。当运行
    netshhttpshowsslcert
    时,我没有得到任何回复,因此我需要使用
    netsh
    添加CCS。列出的命令显然是错误的,但它确实帮助找到了正确的命令:
    netshhttpaddsslcert-appid={GUID}ccs=443