【问题标题】:install.packages() can't access a custom CRAN using a self signed SSL certinstall.packages() 无法使用自签名 SSL 证书访问自定义 CRAN
【发布时间】:2017-11-29 17:28:41
【问题描述】:

我构建了一个自定义的本地 CRAN 存储库,需要通过 HTTPS 提供服务。

由于我不会让您感到厌烦,我正在使用由 openssl 生成的自签名证书。

repo 已经构建并且可以在普通的旧 HTTP 上正常工作,但是如果我尝试使用 HTTPS,我会收到以下错误:

Warning: unable to access index for repository https://server/cran/src/contrib:
 cannot open URL 'https://server/cran/src/contrib/PACKAGES'

我可以从命令行使用curl -k 访问该 URL,但我不知道如何使它与 R 一起使用。

我要么需要告诉 R 盲目接受任何证书,要么以某种方式告诉它这个证书/密钥。

用于生成证书的完整命令是...

openssl -req -newkey rsa:2048 -keyout /path/to/file.key -nodes -x509 -days 365 -out /path/to/file.crt

我目前正在开发一个 RedHat Linux 客户端,但很快也需要从 Windows 客户端访问它。

【问题讨论】:

    标签: r ssl cran


    【解决方案1】:

    您可以通过options() 参数化download.file(),这应该有助于install.packages(),因为它使用`download.file()。

    简而言之,只要您可以使其与curlwget 一起使用,您就可以将交易外包给他们。

    来自help(download.file)

    method:用于下载文件的方法。当前下载 方法是“内部”、“wininet”(仅限 Windows) '"libcurl"'、'"wget"' 和 '"curl"',并且有一个值 ‘"auto"’:参见‘Details’和‘Note’。

    该页面上还有更多内容。它应该可以覆盖您。

    【讨论】:

    • 感谢您的指点。最终在 Renviron 中设置了环境变量 CURL_CA_BUNDLE,现在一切都变得更好了。
    猜你喜欢
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 2021-02-14
    • 1970-01-01
    • 2020-09-20
    • 2019-12-11
    相关资源
    最近更新 更多