如何让M1 MacBook Pro信任Netskope证书?本地Rails应用请求报错
解决方案:解决Netskope导致的Rails应用SSL证书验证失败问题
核心问题
Netskope的根证书未被你通过Brew安装的OpenSSL 3.3.0信任,导致所有基于OpenSSL的HTTP客户端发起请求时都触发证书验证失败。
步骤1:获取Netskope根证书
- 找到Netskope安装目录下的证书文件,通常路径为
/Library/Application Support/Netskope/STAgent/cert/,查找后缀为.pem或.crt的根证书文件(比如netskope-root-ca.crt) - 若找不到,打开Keychain Access,搜索“Netskope”相关证书,右键导出为PEM格式的文件
步骤2:配置Brew版OpenSSL信任该证书
- 定位Brew OpenSSL 3.3.0的证书存储目录:
/usr/local/etc/openssl@3/certs/ - 将Netskope根证书复制到上述目录
- 生成证书哈希链接(OpenSSL依赖此查找证书):
c_rehash /usr/local/etc/openssl@3/certs/
步骤3:让应用默认使用该证书配置
临时生效(单次终端会话)
在启动Rails应用前,执行以下命令设置环境变量:
export SSL_CERT_DIR=/usr/local/etc/openssl@3/certs/ # 或直接指定单个证书文件 # export SSL_CERT_FILE=/path/to/your/netskope-root-ca.crt
然后正常启动Rails应用即可。
永久生效(所有终端会话)
将上述环境变量添加到你的shell配置文件中:
- 若用Zsh:编辑
~/.zshrc,添加上述export命令 - 若用Bash:编辑
~/.bashrc,添加上述export命令
保存后执行以下命令使配置生效:
# Zsh用户 source ~/.zshrc # Bash用户 source ~/.bashrc
步骤4:验证修复效果
用OpenSSL命令测试连接:
openssl s_client -connect example.com:443
查看输出中是否包含 Verify return code: 0 (ok),若有则证书信任配置生效。之后启动Rails应用发起HTTP请求,即可正常访问。
内容的提问来源于stack exchange,提问作者NoTroutAboutIt
相关产品推荐
相关产品推荐

