我遇到一个问题,即某个网站的安全证书会定期从端口 443 解除绑定,并替换为服务器上的另一个证书。因此,每当用户尝试访问该网站时,都会收到“不受信任”警告。
因此,当这种情况第一次发生时,我进行了调查并发现了错误的证书,因此我将其改回了原样。这种方法在一段时间内运行正常,但后来又发生了这种情况。我检查了事件日志,并触发了以下两个警告:
已删除端点的 SSL 证书设置:0.0.0.0:443
管理进程为端点创建的 SSL 证书设置:0.0.0.0:443
这种情况每天都会发生一两次,我必须不断重新绑定正确的证书,但到目前为止我还没有找到解决方案。
该网站在 Windows Server 2012/ IIS 8 上运行
根据一些在线支持论坛/文章,ApplicationHost.config 文件中有一个旧的遗留设置,这应该是导致此问题的原因。我发现的所有对此的引用都指向“customMetaData”部分中的一个属性,该属性有一个特定的 ID (5506)。我在服务器上的 ApplicationHost.config 文件中的任何地方都找不到这个特定属性。
有人遇到过类似的问题吗?或者有人能解释一下这个问题的潜在原因吗?在网上搜索后,我发现很难找到与我的问题相关的内容,但也许我没有找到正确的东西……
任何关于此问题的建议都将不胜感激。
答案1
我在 AWS 实例上遇到了这个问题。似乎每 5 分钟,我就必须进入绑定并重新选择 SSL 证书。因此,我决定通过创建一个批处理文件来从命令行设置 SSL 证书,以节省一些时间。我运行了一次批处理文件,然后将其留在桌面上,每次遇到此问题时都双击它。
这个问题再也没有发生过。
我的科学结论是,从命令行设置 SSL 证书工作更好而不是从 GUI 进行设置。这是我使用的命令:
netsh http add sslcert ipport=0.0.0.0:443 appid={some-guid} certhash=MyCertThumbrint
我用了一个在线 GUID 生成器生成一个appid。
这是一篇文章它会告诉您在哪里可以找到您的证书的指纹。