加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用环境变量更改HTTPI SSL默认证书文件位置

发布时间:2020-12-17 02:08:16 所属栏目:百科 来源:网络整理
导读:根据 this page,我可以看到HTTPI正在寻找基于OpenSSL :: X509 :: DEFAULT_CERT_FILE常量的SSL证书: 2.1.5 :008 OpenSSL::X509::DEFAULT_CERT_FILE = "/usr/lib/ssl/cert.pem" 我的证书在其他地方,但该页面说我可以使用环境变量SSL_CERT_FILE更改Ruby查看的
根据 this page,我可以看到HTTPI正在寻找基于OpenSSL :: X509 :: DEFAULT_CERT_FILE常量的SSL证书:

2.1.5 :008 > OpenSSL::X509::DEFAULT_CERT_FILE
 => "/usr/lib/ssl/cert.pem"

我的证书在其他地方,但该页面说我可以使用环境变量SSL_CERT_FILE更改Ruby查看的路径.我在.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的效果,该页面是否有误?或者常数是否永远不变,它会影响其他一些设置?最终,证书没有找到,所以我需要知道它是什么/如何检查/如何设置它.

一等奖是一种类似的方法,默认设置为环境变量,因为我不想硬编码证书的路径.

解决方法

我不知道ruby部分,但根据我对OpenSSL代码的经验,我不认为设置环境SSL_CERT_FILE会改变DEFAULT_CERT_FILE的内容.但是它仍将在OpenSSL查找证书的位置发生变化:如果给出SSL_CERT_FILE,它将获取此值,否则采用DEFAULT_CERT_FILE中的值.这就是OpenSSL内部工作的方式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读