根据这个页面,我可以看到 HTTPI 基于常量在哪里寻找我的 SSL 证书OpenSSL::X509::DEFAULT_CERT_FILE
:
2.1.5 :008 > OpenSSL::X509::DEFAULT_CERT_FILE
=> "/usr/lib/ssl/cert.pem"
我的证书在其他地方,但该页面说我可以使用环境变量更改 Ruby 的路径SSL_CERT_FILE
。我在 .bashrc 中做到了:
export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
Rails 找到环境变量:
2.1.5 :007 > ENV['SSL_CERT_FILE']
=> "/etc/ssl/certs/ca-certificates.crt"
但这对 OpenSSL 常量没有影响:
2.1.5 :008 > OpenSSL::X509::DEFAULT_CERT_FILE
=> "/usr/lib/ssl/cert.pem"
那个页面是关于设置效果的错误SSL_CERT_FILE
吗?或者常数永远不会改变并且它会影响其他一些设置?最终,找不到证书,所以我需要知道它是什么/如何检查/如何设置它。
一等奖是由环境变量设置默认值的类似方法,因为我不想硬编码证书的路径。