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

跨WiFi无法连接MS SQL Server报Host unreachable错误如何解决

你当前遇到的报错核心原因是你代码里配置的是SQL Server所在网络的局域网私有IP,这类IP仅在同一网段内可被访问,跨网之后目标IP不存在自然抛出Host unreachable错误。要实现任意网络都能访问,你需要额外完成公网暴露配置,具体步骤如下:

1. 确认公网IP资源

  • 若SQL Server部署在家庭/办公局域网内:先联系网络运营商确认你开通的宽带分配了公网IP(不是运营商内网NAT转换后的IP),优先申请静态公网IP,无需频繁修改APP连接配置;如果只有动态公网IP,后续可以搭配DDNS动态域名解析服务使用。
  • 若SQL Server部署在云服务器上:直接使用云服务商提供的公网IP即可,注意需要同时放开云平台安全组的1433端口入站规则,很多人容易遗漏该配置。

2. 配置端口映射(仅局域网部署需要)

登录你家/公司的主路由器管理后台,配置端口转发规则:

  • 将路由器公网IP的TCP协议1433端口,转发到安装SQL Server的设备的局域网IP+1433端口。
  • 不要开启DMZ主机暴露整台设备,仅映射需要用到的端口即可,降低攻击面。

3. 修改APP连接配置

将你代码里的ip变量值,从原来的局域网IP替换成你的公网IP;如果用了DDNS服务,直接填绑定的域名即可,后续公网IP变动也不需要重新打包APP。


高风险提醒

直接将SQL Server默认1433端口暴露到公网是非常危险的操作,极易被暴力破解、数据泄露,强烈不建议你直接这么做,优化方案如下:

  • 修改SQL Server的默认服务端口,不要用1433,改用高位随机端口。
  • 严格限制数据库访问账号的权限,仅分配业务需要的最小权限,不要给管理员权限。
  • 最优方案是在移动端和数据库之间增加一层后端接口服务,所有数据库操作都通过接口发起,接口侧可以做鉴权、限流、参数校验,从根源上避免直接暴露数据库到公网。
  • 条件允许的话配置端口访问IP白名单,仅允许信任的IP段访问数据库端口。

内容的提问来源于stack exchange,提问作者Dejan Junduk Kuzmanovic

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:57:03