Composer自签名证书

时间:2016-03-03 08:50:20

标签: ssl composer-php

更新到最新的作曲家版本。多年来,我们一直在http上托管我们的软件包存储库,没有任何问题,但现在作曲家说它需要通过https连接。我可以通过以下方式解决这个问题: -

    "secure-http": false

在我的composer.json配置语句中。但是,我觉得这是一个有点工作,并希望得到https服务连接纠正。为了实现这一点,我在托管服务器上创建了自签名证书并启用了ssl。我可以使用我的浏览器连接到存储库(使用常见的异常消息),但作曲家仍然拒绝连接到它。

我的问题是我是否需要安装其他证书才能使其正常工作?

2 个答案:

答案 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设置内部包存储,并将其与使用自签名证书相结合。但您也可以将自签名证书交换为可信证书。

配置您的cafilelocal_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