服务器端能正常访问,客户端访问报错net::ERR_CONNECTION_TIMED_OUT
1、服务器和客户端都是Win10系统在同一局域网下,都是192.168.2网段,其中服务器IP是192.168.2.230,且两个端都关闭了防火墙;
2、服务器端系统采用的docker容器部署,在docker中,新建网络默认 "Subnet": "172.18.0.0/16", 网关是172.18.0.1 所有容器服务都是挂载在这个网络下面的;
3、 Docker Desktop上默认subnet 192.168.65.0/24 ,网络环境中 vEthernet (Default Switch) subnet 172.27.224.1 ,vEthernet (WSL) subnet 172.19.48.1, 服务器端利用route add 172.18.0.0 mask 255.255.0.0 192.168.65.1添加了路由,并且在vEthernet (WSL)新新增了一个172.18.0.1 255.255.240.0的一个网关转换。
4、 API接口配置 window.SITE_CONFIG['baseUrl'] = 'http://172.18.0.1:7020/api-zj'
现在问题是在服务器端用IP加端口方式访问没有问题,API接口连接返回200状态,客户端访问API接口跳转会出现页面报错net::ERR_CONNECTION_TIMED_OUT
不知道问题出在哪里,研究了好久,做DNS刷新、浏览器缓存删除等等,都不能解决问题。
补充,服务器路由配置如下:
帮你问了一下gpt,整理了一下结果,你看是否能解决问题:
根据您提供的信息,问题可能出在以下几个方面:
安全组或防火墙设置:请确保服务器上的安全组或防火墙没有限制客户端访问特定端口的规则。检查并确保允许客户端访问所需的端口(例如7020)。
路由配置:请确保在服务器上正确配置了路由,使得从客户端到服务器的数据包可以正常转发。除了添加路由规则外,还需要确保网络环境中的其他设备(例如默认网关、交换机等)也正确配置。
Docker网络设置:检查 Docker 容器的网络配置是否正确。确定容器的网络设置与主机的网络环境相匹配,并且容器内的服务能够监听正确的IP地址和端口。
DNS解析问题:如果客户端尝试通过域名访问而不是直接使用IP地址,那么可能存在DNS解析问题。确保客户端能够正确解析服务器的域名,并将其解析到正确的IP地址。
此外,还建议您检查服务器端日志以获取更多详细的错误信息,以便更好地定位问题所在。
参考GPT:
您的客户端和服务器端的网络设置不匹配,导致无法建立连接。您可以检查一下您的IP地址、子网掩码、网关、DNS等是否正确配置,或者尝试在客户端和服务器端使用相同的网络环境。
您的浏览器缓存或历史记录影响了网页的加载。您可以尝试清除浏览器缓存或历史记录,然后重新加载网页。
您的Windows主机文件或防火墙阻止了某些网站或IP地址的访问。您可以检查一下您的主机文件是否有任何不必要的网站地址或IP地址,并删除它们。您也可以检查一下您的防火墙设置,确保浏览器不被阻止访问互联网。
您的DNS或IP地址需要刷新或更新。您可以在命令提示符窗口中输入以下命令,然后按Enter键执行:
ipconfig / renew
ipconfig / registerdns
ipconfig / flushdns
ipconfig / release
您的局域网设置有误。您可以在控制面板中打开Internet选项,然后选择连接选项卡,点击局域网设置按钮,取消选中自动检测设置和使用代理服务器为您的局域网两个选项。
您的互联网服务提供商(ISP)将您的IP地址放在安全区域,导致某些网站无法加载。您可以联系您的ISP,询问他们是否有对您的网络访问进行任何限制或过滤。
检查下路由表的配置,感觉是路由规则问题,docker网络冲突了
服务器上,对docker的路由表配置吗?路由的配置不太看的懂,没看出啥问题。
net::err_connection_timed_out 解决方法
清除浏览器历史记录和缓存
Google Chrome浏览器清除历史记录和缓存:转到“自定义和控制”(Chrome浏览器右上角) – >然后单击“设置” – >单击下面的“显示高级设置”按钮 – >然后到“隐私”部分 – >点击“清除浏览数据”按钮 – >检查新弹出窗口中的所有框 – >然后单击“清除浏览数据”按钮。
从Mozilla Firefox浏览器清除历史记录和缓存:在Firefox浏览器中 进入“自定义” – >然后单击“历史记录”按钮 – >点击“清除最近的历史记录”按钮 – >然后“详细信息” – >检查Cookie和缓存框 – >单击“立即清除”按钮。