我在运行 Windows Server 2019 的服务器上的 IIS 10 中托管了一个网站。我已使用 Let's Encrypt 设置了 HTTPS 证书。尝试使用 http:// 查看网站可以正常工作,但当我输入 https:// 时,我在 Brave(基于 Chromium)中收到 ERR_CONNECTION_RESET 错误。我尝试过的任何客户端计算机都存在同样的问题。
在服务器上,Wireshark 显示请求已收到,但在发送了四个数据包之后,该过程以我的计算机向服务器发送“RST,ACK”结束。然后它似乎又重复发送了四个数据包。我认为这些请求甚至没有到达 IIS,因为它们没有被 IIS 记录下来。
以下是包含数据包信息的 Wireshark 文件: https://1drv.ms/u/s!AvTC3qfYkjI9oeAytsS_3PrgrA7FXQ?e=XCdtJR
有人可以建议一个前进的方向吗?
答案1
在我们拥有的一个网站上进行了多次反复试验后,该网站曾经可以与 Windows Server 2012 一起使用,但在对 Windows Server 2019 进行就地更新后就停止了,禁用 TLS 1.3 服务器注册表解决了这个问题。
最初我以为可以通过取消选中以下 2 个站点绑定复选框来解决这个问题:
- 禁用 HTTP/2
- 禁用 OCSP 装订
但我认为那可能只是时间上的巧合。
答案2
我发现我的 Web 主机不允许通过端口 443 进行 TLS 通信。我的主机说:“我们在规则中设置了一个名为 Web 浏览的应用程序组,但显然它没有包含您的网站所支持的组中的所有 TLS 协议。” Windows 防火墙已被禁用,取而代之的是一些不受我控制的单独防火墙,并且防火墙未正确设置端口 443。
因此,如果您遇到与我类似的问题,请确保端口 443 上允许 TLS。