我们有一个使用“Let's encrypt”证书(和 nginx 网络服务器)的 Web 应用。
证书会自动更新(cron 作业每天运行,我们每 2 或 3 个月获得一个新证书)。
使用第一个证书一切正常。但现在,我们获得了更新的证书,Edge 浏览器似乎出现了问题。
当我们访问该网站时,Edge 似乎无法识别/使用 TLS 加密:
您可以看到 URL 是https
(所以我猜测连接实际上是加密的),但是信息窗口(当您单击图标时(i)
)显示一条消息,表明连接未加密。
所以我猜测,Edge 可能仍然保留着有关旧(过期)证书的信息,因此显示错误的信息消息。
注意:
我们确实在 NGINX 配置中启用了 HSTS - 但这并不重要:SO参考
我们如何避免这种情况?例如,我们希望 Edge 自动使用新证书,而不是强迫我们的用户按 F5。
答案1
事实证明,该问题与网页是 PWA 有关,并且我们最初使用的是仅限 www 的证书。
细节:
- 在设置服务器时,我们首先创建一个 www-only-certificate,例如
www.myapp.com
- 但我们忘记在证书中包含裸域,所以几个小时后我们创建了一个新证书
myapp.com
,www.myapp.com
- 已经加载该应用程序的浏览器存在问题中描述的问题
结果:
实际上我们只是忽略了这个问题,因为只有少数客户端受到影响,即使是这些客户端,chrome 也不会显示错误,连接仍然是加密的