【问题标题】:Leiningen: Tried to use insecure HTTP repository without TLSLeiningen:试图在没有 TLS 的情况下使用不安全的 HTTP 存储库
【发布时间】:2018-02-04 01:35:04
【问题描述】:

我正在尝试处理Enlive tutorial

当我在克隆的 repo 中尝试 lein depslein run 时,我遇到了这个问题:

试图在没有 TLS 的情况下使用不安全的 HTTP 存储库。

【问题讨论】:

    标签: clojure leiningen


    【解决方案1】:

    Leiningen 的最新版本已禁用不安全的依赖项下载。来自FAQ

    问:我收到了Tried to use insecure HTTP repository without TLS,那是什么意思?

    答:这意味着您的项目已配置为从不使用 TLS 加密的存储库下载依赖项。这是非常不安全的,并且会使您受到简单执行的中间人攻击。在极少数情况下,您不关心运行项目的机器的安全性,或者可以确保唯一的 http 流量通过受信任的网络发出,您可以通过将其放在您的 @ 中重新启用对不安全存储库的支持987654324@文件:

    ;; never do this
    (require 'cemerick.pomegranate.aether)
    (cemerick.pomegranate.aether/register-wagon-factory!
     "http" #(org.apache.maven.wagon.providers.http.HttpWagon.))
    

    您也可能有一个依赖项,其中包含对不安全存储库的引用以检索其自己的依赖项。如果发生这种情况,强烈建议添加:exclusion 并报告执行此操作的依赖项的错误。

    覆盖 project.clj 中不安全的 HTTP 存储库 URL:

    如果我覆盖 enlive-tutorial/project.clj 中的以下存储库 URL,我可以克隆 enlive-tutorial 并成功执行 lein deps,只需将协议更改为 HTTPS:

    :mirrors {"clojure" {:url "https://build.clojure.org/releases/"}
              "clojure-snapshots" {:url "https://build.clojure.org/snapshots/"}}
    

    看来Moustache 是传递依赖项,它试图通过 HTTP 拉取其依赖项。

    【讨论】:

      猜你喜欢
      • 2018-06-24
      • 1970-01-01
      • 2019-09-15
      • 2017-07-26
      • 2016-01-15
      • 2018-06-27
      • 2019-01-26
      • 1970-01-01
      • 2011-08-31
      相关资源
      最近更新 更多