2016-03-03 43 views
1

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

"secure-http": false 

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

我的问题是我需要安装不同的证书才能使这个工作?

+0

如何创建根证书和签署服务器证书,而不是在系统密钥链/证书存储中安装根证书? –

+0

'托管我们的软件包库'您是否使用Satis? //您可以使用https://letsencrypt.org/ –

+0

的免费SSL证书。不幸的是,它不是 - 它是一个内部系统,我不确定在服务器上使用测试版软件会是一个好主意。 –

回答

0

排序我指出了正确的方向 - 我串接我的证书和密钥文件到笔文件,然后做:

"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

我建议使用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

+0

排序我指出了正确的方向 - 我串接我的证书和密钥文件到笔文件,然后做: - “库”: { “类型”:“作曲家”, “URL”: “https://packages.at.my.company.com”, “options”:{ “ssl”:{ “verify_peer”:true, “allow_self_signed”:true, “local_cert”:“/ etc /apache2/ssl/packages.pem“ } } } ], –

+0

很高兴我能帮上忙:) –