更新到最新的作曲家版本。多年来,我们一直在http上托管我们的软件包存储库,没有任何问题,但现在作曲家说它需要通过https连接。我可以通过以下方式解决这个问题: -
"secure-http": false
在我的composer.json配置语句中。但是,我觉得这是一个有点工作,并希望得到https服务连接纠正。为了实现这一点,我在托管服务器上创建了自签名证书并启用了ssl。我可以使用我的浏览器连接到存储库(使用常见的异常消息),但作曲家仍然拒绝连接到它。
我的问题是我是否需要安装其他证书才能使其正常工作?
答案 0 :(得分:2)
有点指向我正确的方向 - 我将我的证书和密钥文件连接成一个笔文件然后做了:
"repositories": [
{
"type": "composer",
"url": "https://packages.at.my.company.com",
"options": {
"ssl": {
"verify_peer": true,
"allow_self_signed": true,
"local_cert": "/etc/apache2/ssl/packages.pem"
}
}
}
],
答案 1 :(得分:1)
我建议使用Satis设置内部包存储,并将其与使用自签名证书相结合。但您也可以将自签名证书交换为可信证书。
配置您的cafile
和local_cert
并允许使用自签名证书,例如
"repositories": [
{
"type": "composer",
"url": "https://packages.company.com/vendor",
"options": {
"ssl": {
"verify_peer": true,
"allow_self_signed": true,
"cafile": "scripts/build/config/cert/vendor.ca.pem",
"local_cert": "scripts/build/config/cert/client.pem"
}
}
}
]
Docu:https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#satis