Android模拟器访问本地IIS API时出现Invalid Hostname问题求助
解决Android模拟器访问本地IIS API报"Invalid Hostname"问题
核心原因
这个错误本质是IIS站点绑定的主机头配置不匹配请求地址——不管用localhost还是服务器IP访问,只要请求的主机头和IIS绑定设置不一致,就会触发该错误。
解决步骤
1. 修正IIS站点绑定配置
打开IIS管理器,找到你的API站点,右键选择「编辑绑定」:
- 若需用
localhost访问:确保存在一条HTTPS绑定,主机头填localhost,端口4433,选择对应SSL证书。 - 若需用服务器局域网IP(如
192.168.x.x)访问:添加新的HTTPS绑定,IP地址选服务器的局域网IP,主机头留空,端口4433,选择对应SSL证书。 - (推荐)添加一条「IP地址=所有未分配」、主机头留空、端口4433的HTTPS绑定,这样
localhost和IP访问都能匹配到站点。
注意:如果SSL证书是针对
localhost签发的,用IP访问会出现证书信任问题,但这是后续问题,先解决主机头匹配问题。
2. 调整Android模拟器的访问地址
Android Studio自带模拟器中,localhost指向模拟器自身环回地址,要访问电脑本地服务需替换为:
https://10.0.2.2:4433/api/echo
若用服务器局域网IP访问,直接使用电脑的局域网IP即可,比如:
https://192.168.1.100:4433/api/echo
3. 验证配置有效性
- 先在电脑上用服务器IP访问API,确认能正常返回结果(排除IIS绑定问题)。
- 再在模拟器中用调整后的地址访问,测试是否解决「Invalid Hostname」错误。
内容的提问来源于stack exchange,提问作者Сергей
相关产品推荐
相关产品推荐

