【发布时间】:2015-12-11 05:14:17
【问题描述】:
我已经设置了满意的私人作曲家数据包管理器。 Satis 在“packages.asc.company”上运行,我通过 apache2 http 基本身份验证保护了该站点,并且可以通过输入 http 基本身份验证凭据在浏览器中打开它。
现在我的问题是:如何在运行时以最佳和最安全的方式向作曲家传递凭据以访问 satis 站点,例如“作曲家更新”?
目前我在 apache .htpasswd 文件中只注册了一个用户,并且需要将其凭据传递到某个地方才能从 composer 连接到 satis。
有两种情况我需要连接:
1) 在开发过程中来自项目
2) 在持续集成过程中来自 jenkins。
3) 编辑:SSL
我现在正在尝试使用 openssl 来保护登录时的凭据。在运行 apache 的 linux 上,我创建了一个私钥和一个 .crt 文件(请参阅:Apache SSL。在我的 linux 上,我可以现在用https打开satis包页面,我什至将http重定向到https,一切正常(我使用我自己的openssl证书生成,因为它是一个内部应用程序,我不需要受信任的ca)。
现在,当我从我的 Linux 虚拟机(这里我正在编码)切换到我的 Windows 并尝试运行 composer update 时,我收到以下错误消息: (hosts文件配置正确)
[作曲家\下载器\TransportException] 无法下载“https://packages.asc.company/packages.json”文件:SSL 操作失败,代码为 1。OpenSSL 错误消息: 错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败 无法启用加密 无法打开流:操作失败
我错过了什么?我对 ssl 还很陌生,但现在阅读了一整天有关它的信息,但无法让它工作。
来自getcomposer satis site,我有这个信息,但不知道如何使用。
{
"repositories": [
{
"type": "composer",
"url": "https://example.org",
"options": {
"ssl": {
"local_cert": "/home/composer/.ssl/composer.pem"
}
}
}
]
}
问候。
【问题讨论】:
-
从 CLI 使用 Composer 时,您是否找到任何解决 HTTPS 证书问题的方法?我也可以很好地打开浏览器 UI(使用 HTTPS 和基本身份验证),但
composer命令失败并显示您在问题中粘贴的错误。 -
你好。我解决了我的问题:我使用了 Let's Encrypt 和 Nginx,但使用了 cert.pem 文件,而应该使用 fullchain.pem 文件。
标签: php ssl openssl apache2 satis