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

Windows 10下Ruby 2.4.1无法通过Sophos防火墙更新Gems,求配置方法

解决Ruby Gem在企业Sophos防火墙下的SSL证书验证问题

没问题,这个场景在企业环境里太常见了——你已经在IE装了根证书,但Ruby的Gem系统用的是独立的SSL证书存储(尤其是2.4.x这类较旧的Ruby版本),所以得单独给Gem做配置,完全可行,具体操作步骤如下:

第一步:导出Sophos根证书到本地

首先得把你已经在IE里安装的Sophos根证书导成Gem能识别的格式:

  • 打开Internet Explorer,点击右上角设置图标 → 选择「Internet选项」
  • 切换到「内容」标签页,点击「证书」按钮
  • 在「受信任的根证书颁发机构」标签里,找到报错里提到的那个Sophos证书(名称是Sophos SSL CA_C22017KYFKPJ462)
  • 选中它后点击「导出」,按照向导选择「Base64编码的X.509(.CER)」格式,把证书保存到Ruby安装目录下的ssl/certs文件夹(比如C:\Ruby24\ssl\certs\sophos_root.cer,如果这个文件夹不存在就手动新建)

第二步:配置Gem使用该证书

有两种方式,选适合你的:

方式一:临时单次生效

每次运行Gem命令时手动指定证书参数,比如更新系统的命令改成:

gem update --system --trust-policy LowSecurity --ssl-ca-cert C:\Ruby24\ssl\certs\sophos_root.cer

这里--trust-policy LowSecurity是因为自签名证书不符合Gem默认的严格验证策略,结合指定我们信任的CA证书,安全性是有保障的。

方式二:永久生效(推荐)

修改Gem的配置文件,以后所有Gem命令都会自动用这个证书:

  1. 打开用户目录下的.gemrc文件(路径是C:\Users\你的用户名\.gemrc,如果没有就新建一个文本文件,重命名为.gemrc注意前面的点)
  2. 在文件里添加以下内容:
ssl_ca_cert: C:\Ruby24\ssl\certs\sophos_root.cer
trust_policy: LowSecurity
  1. 保存文件后,再运行gem update --system就不会再报SSL错误了。

验证配置

配置完成后,你可以试试运行gem list或者gem update,如果能正常拉取源的信息,就说明配置成功了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:52:01