POST http://xxx net::ERR_NAME_NOT_RESOLVED 解决
测试环境启动后,项目A前端访问项目B某接口报错 net::ERR_NAME_NOT_RESOLVED,F12,切到Network看到接口状态如下:切换到Console看到状态如下:怀疑是项目A、B服务器网络不通的问题,结果运维同事在项目A服务器上curl 项目B的接口,返回200,说明网络是通的。。。百思不得其解,网上各种查询也没有相关答案,还以为是Docker机器里DNS解析的问题,,,纠结了一
测试环境启动后,项目A前端访问项目B某接口报错 net::ERR_NAME_NOT_RESOLVED,F12,切到Network看到接口状态如下:
切换到Console看到状态如下:
怀疑是项目A、B服务器网络不通的问题,结果运维同事在项目A服务器上curl 项目B的接口,返回200,说明网络是通的。。。
百思不得其解,网上各种查询也没有相关答案, 还以为是Docker机器里DNS解析的问题,,,
纠结了一下午,忽然想清楚了,在项目A服务器上curl 项目B的接口,返回200,说明项目A、B服务器是通的。而我在本机访问项目A,再在项目A中访问项目B,这就要好好考虑清楚了:
方式一:如果我本机是通过项目A转发到项目B,那么肯定是没问题的,因为我本机到项目A是通的,项目A到项目B也是通的。
方式二:如果我本机通过项目A重定向到项目B,那么就要看我本机到项目B是否是通的了。
此处我本机是通过项目A的js文件里配置的地址直接访问了项目B,也就是上面的方式二,中间并未经过项目A转发,所以一切就明了了:我本机到项目B不通,导致报错 net::ERR_NAME_NOT_RESOLVED
此处用的是测试环境内网域名,所以修改我本机host文件(C:\Windows\System32\drivers\etc\hosts)添加上项目B服务器IP和内网域名的映射:
再次访问,
200 OK
更多推荐
所有评论(0)