我目前的情况是需要为我们的内部私有gitlab安装配置(自生成)RootCA.crt。
与此同时,我们仍然需要"正常"访问github.com。
因此我需要两个CA设置同时工作。
我的git config --global --edit
看起来像这样
[user]
name = my name
email = my email
[core]
autocrlf = false
excludesfile = C:\\Users\\<user>\\Documents\\gitignore_global.txt
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[mergetool "sourcetree"]
cmd = 'C:/Program Files/KDiff3/kdiff3.exe' \"$BASE\" \"$LOCAL\" \"$REMOTE\" -o \"$MERGED\"
trustExitCode = true
[winUpdater]
recentlySeenVersion = 2.17.0.windows.1
[credential]
helper = store
[http "https://our.gitlab.server*"]
sslVerify = true
sslCAInfo = C:/ssl/RootCA.crt
sslCAPath = C:/ssl
[http "https://github.com*"]
sslCAInfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
sslCAPath = C:/Program Files/Git/mingw64/ssl/certs
sslVerify = true
因此,您可以看到我配置了两个http条目,一个用于本地服务器,另一个用于github。 (如documentation中所示)
如果我只是一次设置一个
[http]
sslCAInfo = C:/ssl/RootCA.crt
sslCAPath = C:/ssl/
sslVerify = true
相应的回购工作正常。
但是在使用上部配置的那一刻,它始终没有显示任何内容:
$ git config --get-all http.sslCAInfo
(nothing)
如何根据存储库网址使用不同的CA证书获取这两种配置才能正常工作?
答案 0 :(得分:0)
作为一种工作场所,我打开了默认设置
C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
和我的C:/ssl/RootCA.crt
在文本编辑器中,并将我的CA证书的内容附加到捆绑包中,因此它现在包含所有证书。
无论如何,我希望有更好的方法来实现它,因为现在每个人都必须在所有Git安装上替换该文件。