我已经设置了满足私人作曲家数据包管理器。Satis 在“packages.asc.company”上运行,我通过 apache2 http 基本身份验证保护了该站点,并且可以通过输入 http 基本身份验证凭据在浏览器中打开它。
现在我的问题是:在运行例如“composer update”时,如何以最佳和最安全的方式向作曲家传递凭据以访问 satis 站点?
目前,我在 apache .htpasswd 文件中只注册了一个带有密码的用户,并且需要将其凭据传递到某个地方才能从 composer 连接到 satis。
有两种情况我需要连接:
1)从开发过程中的项目
2)在持续集成过程中来自詹金斯。
3)编辑:SSL
我现在正在尝试使用 openssl 来保护登录时的凭据。在运行 apache 的 linux 上,我创建了一个私钥和一个 .crt 文件(请参阅:Apache SSL。在我的 linux 上,我现在可以打开 satis使用 https 打包页面,我什至将 http 重定向到 https,一切正常(我使用我自己的使用 openssl 生成的证书,因为它是一个内部应用程序,我不需要受信任的 ca)。
现在,当我从我的 Linux vm(这里我正在编码)切换到我的 Windows 并尝试运行 composer update 时,我收到以下错误消息:(主机文件配置正确)
[Composer\Downloader\TransportException]无法下载“ https://packages.asc.company/packages.json ”文件:SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:certificate验证失败 启用加密失败 无法打开流:操作失败
我错过了什么?我对 ssl 很陌生,但是现在阅读了一整天有关它的信息并且无法使其正常工作。
从getcomposer satis site,我有这些信息,但不知道如何使用它。
{
"repositories": [
{
"type": "composer",
"url": "https://example.org",
"options": {
"ssl": {
"local_cert": "/home/composer/.ssl/composer.pem"
}
}
}
]
}
问候。