You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebClient在Win10运行正常但部署到Contabo的Win Server 2019 VPS后无法运行

1 检查Internet Explorer增强安全配置(ESC)是否关闭

Windows Server 2019默认开启IE增强安全配置,该策略会拦截绝大部分非信任站点的Web请求,即使放行防火墙也不会生效。关闭步骤:打开「服务器管理器」→ 左侧点击「本地服务器」→ 右侧找到「IE增强的安全配置」→ 把管理员和用户的选项都设为「关闭」,重启应用再测试。

2 确认TLS协议支持匹配

你代码里仅强制指定了SecurityProtocolType.Tls12,存在两个兼容风险:

  • 若目标站点已升级要求TLS1.3,Windows Server 2019默认未启用TLS1.3支持,而Windows 10 1903+版本默认开启,就会出现本地正常服务器失败的情况。可修改代码兼容多版本TLS:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 Or SecurityProtocolType.Tls13
  • 也可以直接使用系统默认配置,避免硬编码协议版本导致的兼容问题:
ServicePointManager.SecurityProtocol |= SecurityProtocolType.SystemDefault

3 排查线程上下文死锁问题

你的函数声明是Async Function,但内部调用的是同步的DownloadString方法,没有用到Await,这种写法在WinForm的UI线程上下文下很容易出现死锁,服务器环境的线程调度策略和桌面系统不同,死锁概率更高。建议改为异步调用:

Dim Response = Await client.DownloadStringTaskAsync(URL)

4 验证网络层面拦截

Contabo的VPS默认可能存在端口拦截、或者国际出口封禁目标站点的情况,你可以直接在服务器上打开浏览器访问你请求的URL,确认是否能正常打开,如果浏览器也打不开,说明是服务器网络层面的问题,和代码无关。

5 排查证书验证问题

Windows Server 2019的根证书更新策略默认和桌面系统不同,可能缺失目标站点的根证书导致HTTPS验证失败。你可以先在Catch块输出完整的异常信息,确认是否是WebException且状态为TrustFailure,如果是则需要手动更新服务器的根证书。

6 检查系统代理配置

如果你本地Windows 10配置了全局代理,而Windows Server 2019未配置对应代理,也会导致请求失败。可以在服务器的「Internet选项」→「连接」→「局域网设置」里确认代理配置和本地是否一致。

内容的提问来源于stack exchange,提问作者shab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:15:03