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

React JS发起POST请求时如何禁用SSL证书验证?Keycloak认证报错求解

问题根因

你代码中使用的https.Agent以及rejectUnauthorized: false配置仅对Node.js环境生效,浏览器端的原生Fetch API没有提供任何允许禁用SSL证书校验的参数,你加的Agent配置在浏览器环境中完全不会被识别,这是报错net::ERR_CERT_AUTHORITY_INVALID的核心原因。

另外你的代码里还有一个拼写错误:requestOptions中配置的参数名应该是小写的agent,不是大写的Agent,不过即使修正后,浏览器端依然不会生效。

测试场景下的解决方案
  • 方案1:配置浏览器启动参数跳过证书校验(仅本地测试使用)
    以Chrome为例:
    Windows系统:右键Chrome快捷方式,在「目标」输入框的内容末尾添加空格后追加--ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure="你的Keycloak服务器根地址",保存后通过该快捷方式启动浏览器,再访问React页面即可。
    Mac系统:打开终端执行命令open -a "Google Chrome" --args --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure="你的Keycloak服务器根地址"启动浏览器即可。
  • 方案2:通过开发服务器代理转发请求
    不管你用Vite还是Create React App,都可以配置本地开发服务器的代理规则,将Keycloak相关请求转发到目标服务器,开发服务器运行在Node.js环境下,可以正常配置rejectUnauthorized: false跳过SSL校验,浏览器仅请求本地开发服务,不会触发证书校验逻辑。
  • 方案3:导入Keycloak证书到系统受信任根证书列表
    把Keycloak用的自签名证书导出后,导入到你本地操作系统的「受信任的根证书颁发机构」中,重启浏览器后所有站点都会信任该证书,不需要修改任何代码或浏览器配置,是测试场景下最稳妥的方案。

注意:所有跳过SSL校验的配置仅可在测试环境使用,禁止用于生产环境,会有严重的安全风险。

内容的提问来源于stack exchange,提问作者Lucky

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:06:05