Azure虚拟机用Selenium-Chromedriver+PowerShell遇stun解析错误-105求助
错误场景与已尝试操作
在Azure托管的Win11虚拟机上,使用Selenium-Chromedriver搭配PowerShell执行网站自动化时,频繁出现以下错误(Win10虚拟机无此问题):
[5648:4300:0912/151844.598:ERROR:socket_manager.cc(147)] Failed to resolve address for stun.l.google.com., errorcode: -105
该错误每隔几分钟连续出现约20次,未影响自动化流程,但会填满控制台。已尝试:
- 主机进程可手动解析
stun.l.google.com地址 - 通过ChromeOptions设置日志级别无法隐藏该错误
- 在本机及Azure NSG添加防火墙规则无效
错误原因分析
Chrome WebRTC组件的自动行为
Chrome默认启用WebRTC相关功能,即使自动化场景不需要,它也会定期尝试解析stun.l.google.com以建立P2P连接。Win11虚拟机中,Chrome的沙箱进程(而非主机进程)的DNS解析配置存在异常——主机能正常解析,但Chrome的子进程(如socket_manager所属进程)无法获取正确的DNS解析结果,导致报错。Win11的进程级网络隔离限制
Win11的系统安全机制(如沙箱、Defender防火墙)比Win10更严格,Chrome的子进程可能未被授予DNS解析的权限,或者无法访问Azure虚拟机的DNS服务器,导致解析失败。这种情况下,主机进程的网络权限不代表子进程拥有同样权限。Chrome/Chromedriver版本适配问题
Win11上安装的Chrome版本与Win10存在差异,或配套的Chromedriver版本存在适配缺陷,导致WebRTC模块的DNS解析逻辑出现异常,触发重复报错。错误码-105的本质
该错误码对应底层网络错误ERR_NAME_NOT_RESOLVED,核心是Chrome进程无法完成域名解析,而非连接被防火墙阻断,因此添加NSG或本地防火墙规则无法解决问题。
内容的提问来源于stack exchange,提问作者Rob

