You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cypress无法访问已启动的Angular本地服务器问题求助

Cypress无法访问已启动的Angular本地服务器问题求助

我之前也踩过几乎一模一样的坑,给你梳理下可能的原因和解决办法:

首先得搞懂核心问题:你手动能通过localhost:4200访问,但127.0.0.1:4200不行,这说明你的Angular服务器只绑定了localhost这个主机名,而没有监听所有可用的网络接口。而Cypress在发起请求时,会把localhost解析成127.0.0.1去连接,这就导致了连接被拒绝的错误。

给你几个具体的解决步骤,按顺序试就行:

  • 修改Angular启动命令,强制绑定到所有接口
    把你启动Angular的命令改成这样:
    ng serve --proxy-config proxy.config.json --host 0.0.0.0
    这个--host 0.0.0.0参数会让服务器监听所有可用的IP地址,包括localhost和127.0.0.1。启动后你可以先手动访问127.0.0.1:4200,能打开的话,Cypress再去访问就没问题了。

  • 确认Cypress的baseUrl配置完全匹配
    检查你的Cypress配置文件(一般是cypress.config.js或者cypress.json),确保baseUrl设置的是http://localhost:4200,和你手动能访问的地址完全一致。虽然这步你可能已经做了,但再确认下没写错端口或者协议。

  • 排查本地安全软件的拦截
    有时候本地防火墙、杀毒软件会莫名其妙拦截Cypress的网络请求,你可以临时关闭这些软件试试,要是能访问了,就给Cypress加个白名单权限。

  • 检查代理配置的影响
    虽然你手动能访问,但还是可以扫一眼你的proxy.config.json,看看有没有设置请求来源的白名单限制,比如只允许特定IP的请求,不过这个概率比较小。

简单来说,最核心的解决办法就是给ng serve加上--host 0.0.0.0参数,让服务器监听所有IP,这样Cypress就能正常连接了。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 09:10:29