更新到作曲家的最新版本。多年来,我们一直在 http 上托管我们的包存储库,没有任何问题,但现在作曲家说它需要通过 https 连接。我可以通过放置来解决这个问题:-
"secure-http": false
在我的 composer.json 配置语句中。但是,我觉得这是一个解决方法,并希望让https服务连接更正。为了实现这一点,我在托管服务器上创建了一个自签名证书并启用了 ssl。我可以使用我的浏览器连接到存储库(通常有异常消息),但作曲家仍然拒绝连接到它。
我的问题是我是否需要安装其他证书才能使其正常工作?
有点为我指明了正确的方向 - 我将我的证书和密钥文件连接到一个笔文件中,然后做了:
"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"
}
}
}
],
我建议使用 Satis 设置一个内部包存储,并将其与使用自签名证书相结合。但您也可以将自签名证书交换为受信任的证书。
配置您的cafile
和local_cert
并允许使用self_signed证书,例如
"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"
}
}
}
]
纪录片:https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#satis