http://example.domain.com/test
此链接在我们的 LAN 内可以访问,但当远程用户使用直接访问时则无法访问。大约 10 天前,它一直正常工作,然后突然 Web 服务器拒绝连接,并显示消息“TCP 从服务器重置”,用于来自使用直接访问的用户的流量。
带有 IIS 的 Windows Server 2012 R2。
没有本地防火墙
没有其他防火墙阻止连接
路由正确。
nslookup 有效
但 Web 服务器仍然拒绝客户端的连接,并显示“服务器 TCP 重置”消息。但如果用户就位并直接在 LAN 上,则没有问题。
netstat - aon显示端口 80 正在监听 PID 4 - NT 内核和系统。
大约 12 天前,微软使用最新的安全更新对服务器进行了修补。
我希望这里的文字能够以更易读的形式展示我所做的事情及其结果:
1. 使用局域网内的服务器的 curl 并针对问题服务器运行:
curl -v test.domain.com/test -H“范围:字节=00-18446744073709551615”
- 尝试 123.456.78.99... * 设置 TCP_NODELAY * 连接到 test.domian.com (123.456.78.99) 端口 80 (#0) > GET /test HTTP/1.1 > 主机:test.domain.com/test > 用户代理:curl/7.55.1 > 接受:/ > 范围:字节=00-18446744073709551615 – < HTTP/1.1 400 错误请求 < 内容类型:text/html;字符集=us-ascii < 服务器:Microsoft-HTTPAPI/2.0 < 日期:2021 年 10 月 20 日,星期三 13:00:43 GMT < 连接:关闭 < 内容长度:339 <
错误请求 - 无效标头
HTTP 错误 400。请求具有无效的标头名称。
–2. 在远程客户端上使用 curl 进行直接访问:
curl -v test.domain.com/test -H "范围:字节=00-18446744073709551615" * 尝试 123.456.78.99... * TCP_NODELAY 设置
- 已连接到 test.domain.com (123.456.78.99) 端口 80 (#0) > GET / HTTP/1.1 > 主机:test.domain.com > 用户代理:curl/7.55.1 > 接受:/ > 范围:字节=00-18446744073709551615 >
- 接收失败:连接已重置 * 关闭连接 0 curl:(56)接收失败:连接已重置 –
正如您所看到的,当我使用 curl 时,我得到了两个不同的结果:
- 在浏览器中输入相同的 URL 时,在局域网中显示的结果
- 当用户远程使用直接访问并在网络浏览器中输入相同的 URL 时,客户端上的结果。
总结: 当我尝试 http:// 时无法访问此 URL,只有使用 https:// 时才可以