解决方案:Android设备访问内部网络地址问题
问题描述
一位用户在尝试通过 http://companyweb
访问其公司内网的一个网站时遇到问题。该公司的Windows桌面和iPhone设备能够正常访问,而Android设备在输入相同的URL后则无法连接,并且将其视为搜索引擎而非网址发起请求;另外,若使用带有域名后缀(例如 http://companyweb.domain.local
)的地址进行访问,则会返回默认的IIS7首页。
问题分析
- Windows桌面和iPhone设备可以解析公司内部网络上的URL,是因为它们配置了对应的本地DNS名称后缀 (如
.local
)。 - 用户通过
getprop | grep -i
命令看到Android设备将其主DNS设为公司内部的服务器地址(Primary DNS),而次级DNS设为Google公共DNS(4.4.4.4,8.8.8.8)。
解决方案
- 确认问题所在:用户发现即使处于同一无线网络下使用
http://companyweb
访问时,浏览器仍搜索外部互联网。这表明Android设备使用Google公共DNS解析了URL,而非设备本地的DNS服务器。 - 手动更改 DNS 设置:
- 手动修改Android设备中的 DNS 设置:进入设置 > 网络和互联网 > 选择当前无线网络 > 高级选项 > DHCP / IP配置 > DNS
添加公司内部DNS为主DNS,并将其设为活动的首选方案。
使用完整 URL 访问资源:
如在用户提供的解决方案中所述,可通过URL
https://remote.companyname.co.uk:987/default.aspx
测试并访问。这表明需要完整的 URL 来明确指定公司的内网地址及端口信息。浏览器设置与输入框修正:考虑使用其他浏览器以减少因Android系统自带OmniBox混合搜索框问题带来的困扰,比如测试Firefox移动版(由于其独立于内置的搜索引擎)。
持续优化 DNS 配置及其他因素:考虑到设备版本和个人用户配置的不同,不断检查和修改相关设置,适应不同情况下的网络环境需求。
通过上述步骤与策略,用户应该能够成功访问在内网服务器上的Web资源,并确保Android设备的使用更符合预期。
正文完