首先,是的,我知道导致该问题的原因是 。但我不知道如何解决。
我正在使用Satis来运行私有作曲家存储库。在一个项目中,我像这样添加了存储库:
"repositories": [
{
"type": "composer",
"url": "https://satis.mycompany.ca"
}
],
当我尝试从仓库中composer require
包装时,收到以下错误消息:
Failed to download <package> from dist: Your configuration does not allow connections to http://satis.mycompany.ca/dist/<package>.tar. See https://getcomposer.org/doc/06-config.md#secure-http for details.
现在,我知道问题出在哪里。它尝试不使用HTTPS进行连接,并且Composer默认情况下不允许不安全的连接。这很公平,我对允许不安全的连接来解决此问题没有兴趣。
我不知道是如何强制它通过HTTPS而不是HTTP连接的。如您在上面看到的,存储库本身 装有HTTPS。在我的satis.json
中,我有以下内容:
"archive": {
"directory": "dist",
"format": "tar",
"skip-dev": true,
"prefix-url": "https://satis.mycompany.ca"
}
因此,每个存档都应以https
为前缀。我在该服务器上的.htaccess
也在 将所有HTTP请求重定向到HTTPS。
在这一点上,我不确定我还可以做些什么来解决这个问题。如何强制作曲家通过HTTPS请求软件包?
编辑:手动将composer.lock
文件更改为https
确实解决了该问题,但是我不考虑每次要求将新的软件包作为文件包时都更新composer.lock
文件。解决方案。