tim*_*xyz 5 github ssl-certificate
在为我的站点设置SSL证书的过程中,创建了几个不同的文件,
在将我的网站推送到github之前,是否应将这些添加到.gitignore?
如果这是一个愚蠢的问题,请提前道歉.
kap*_*kap 13
我想补充@VonC的答案,因为它实际上更复杂:
这些文件具有不同的内容,并且根据不同的内容,它们需要不同的访问控制:
server.csr:这是一个证书签名请求文件。它是从密钥生成的(server.key在您的情况下)并用于创建证书(site_name.crt在您的情况下)。创建证书后应将其删除。不应与不受信任的各方共享它。server.key:这是私钥。在任何情况下都不能在服务器外部共享此文件。它不能最终出现在代码存储库中。在系统上,它必须以Web 服务器用户0600所拥有的权限(即只读)进行存储。root至少在 Linux 中,在 Windows 中用户访问权限的处理方式有所不同,但必须以类似的方式完成。site_name.crt:这是签名的证书。这被认为是公开的。证书本质上是公钥。它被发送给连接到服务器的每个人。它可以存储在存储库中。(@VonC 的提示是正确的,代码和数据应该分开,但它可以位于单独的存储库中进行部署)。server.pass.key:不知道这是什么,但它似乎包含访问密钥的密码。如果是这种情况,则适用与密钥相同的规则:切勿与任何人共享。Von*_*onC 11
在将我的网站推送到github之前,是否应将这些添加到.gitignore?
它们根本不应该在回购中,这意味着存储在回购之外.
那样:
.gitignore,在看到用户在公共存储库中存储密钥和密码后,GitHub实际上不得不在2013年更改搜索功能.看完整的故事.
这篇文章包括这句话:
错误可能反映了软件开发人员的整体教育问题.
当你加速程序 - "6周,你将成为一名真正的软件开发人员" - 教授开发时,安全就成了事后的想法.考虑到"90%的开发是复制你不理解的东西,我敢打赌他们中的大多数根本就不知道id_rsa是什么 "
2016年,这本"书"(作为一个笑话)反映了:
OP增加:
我认为Heroku需要将文件放入仓库以便运行"
>heroku certs:add server.crt server.key"并设置证书.
" 配置和配置变量 "是该主题的一个说明:
更好的解决方案是使用环境变量,并将密钥保留在代码之外.在传统主机上或在本地工作,您可以在bashrc文件中设置环境变量.在Heroku上,您使用配置变量.
文章" Heroku:SSL Endpoint "不会强迫您在代码中包含这些密钥和证书.它们可以直接在Heroku上生成,并保存在其他任何地方以便妥善保管.只是没有在一个git回购.
| 归档时间: |
|
| 查看次数: |
1503 次 |
| 最近记录: |